2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 01:47 
Заслуженный участник


27/04/09
28128
Seman в сообщении #1344318 писал(а):
Я не против, но когда учишься лучше запоминать без автозаполнения и подсветки синтаксиса. И сложно перенести весь функционал в gui. Реализовать тысячу опций в виде аргументов командной строки проще, чем кучу окошек с тысячами полей и чекбоксов.
Если последнее всё ещё про дебаггер, то чем подсветка и автодополнение провинились? — они ортогональны! Если про компилятор и прочие стадии «однократной» обработки исходников — обычно можно задать какие угодно аргументы кому угодно, ну или пишется какой-нибудь там MAKE, редактируясь так же в IDE.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 02:11 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Seman в сообщении #1344318 писал(а):
По С, что мне попадались стандарты про стиль, там именно больше про оформление, т.е. внешний вид кода, скобочки. И говорят в C про стиль больше про оформление, например, цитата из известной книжки (Керниган, Ричи)

Извините, это цитата из книги каких годов? Сейчас понимание программирования вообще сильно изменилось. Хорошо бы что-то из 00-х, не раньше.

Во времена K&R практически невозможно было создание таких крупных систем, которые сегодня встречаются. И соответственно, не возникало соответствующих проблем и аспектов стиля.

Например, даже на Си - обязательно, например, унифицировать систему обработки ошибок. Желательно унифицировать работу с данными. Именование функций в библиотеках, стандартизованные порядки параметров, гарантии исполнения...

Seman в сообщении #1344318 писал(а):
По книге, я посмотрел оглавление

То есть, вы с ней не знакомы. Закончим на этом, поверхностную критику мне выслушивать неинтересно.

Seman в сообщении #1344318 писал(а):
И сложно перенести весь функционал в gui. Реализовать тысячу опций в виде аргументов командной строки проще, чем кучу окошек с тысячами полей и чекбоксов.

You just didn't really try.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 02:21 


29/12/13
306
arseniiv в сообщении #1344322 писал(а):
Если последнее всё ещё про дебаггер, то чем подсветка и автодополнение провинились? — они ортогональны!


Первое про ide, чем оно провинилось, и о возможном вреде( в образовательном плане) автозаполения и прочих удобств.

Последнее про ide и интегрированные в неё инструменты в том числе дебаггер и компилятор. В той же visual studio в настройках проекта, куча опций у компилятора, но они не все, и насколько удобней ковыряться в этих настройках, чем написать make-file -- не однозначно . С отладчиком, там вообще бедно, особенно когда по пайпу отлаживаешь драйвер уровня ядра на виртуальной машине. У них специально есть отдельный инструмент для отладки. Но и по минимуму, даже очень бедно. Хотя сам windbg очень функциональный, но основной функциал в виде командного интерфейса(командами он управляется, фронтенд реально минимален к нему).

-- 08.10.2018, 02:32 --

Munin в сообщении #1344324 писал(а):
Во времена K&R практически невозможно было создание таких крупных систем, которые сегодня встречаются. И соответственно, не возникало соответствующих проблем и аспектов стиля.

Денис Риччи автор языка. На нем написан первый юникс и линукс тоже, что никак не маленькие системы. И язык принципиально никак не менялся. По C в той книжке написано, все верно и минимум стоит прислушаться, а книжка маст реад для всех, кто программирует на С.

upd.
И я реально не понимаю. причем оно тут(устарел.не_устарел) ? Называют оформление скобочки и прочее стилем? - называют. называют в классических книжках, называют в документах. Можно называть и что-то более. Я и сам назвал.



Цитата:
Например, даже на Си - обязательно, например, унифицировать систему обработки ошибок.


Что это такое ?

Цитата:
То есть, вы с ней не знакомы. Закончим на этом, поверхностную критику мне выслушивать неинтересно.

так там в оглавление все написано. я его прочитал. и я не критиковал, даже похвалил. хотя критиковать есть что, но не хочу тратить время.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 02:50 
Заслуженный участник


27/04/09
28128
Seman в сообщении #1344326 писал(а):
Первое про ide, чем оно провинилось, и о возможном вреде( в образовательном плане) автозаполения и прочих удобств.
Так вы ж не написали, каков этот возможный вред. Некоторые вещи просто нужно держать в справочнике и не запихивать в голову насильно. Запомнится само что часто используется. И голове нужно помогать, всячески помогать, потому что в ней мало места для непосредственных операций в реальном времени. Подсветка синтаксиса — малая часть такой помощи. Списки предложений, документация на месте помогают памяти, автодополнение ровно как и хоткеи помогают экономить время тем, кто хочет.

Seman в сообщении #1344326 писал(а):
В той же visual studio в настройках проекта, куча опций у компилятора, но они не все, и насколько удобней ковыряться в этих настройках, чем написать make-file -- не однозначно .
Так я говорю: кто запрещает использовать IDE и писать себе makefile или использовать другие системы сборки? Никто! Кроме того они обычно интегрируются с IDE. Системы контроля версий интегрируются с IDE. Системы подготовки документации интегрируются с IDE. И… честно говоря, из меня плохой адвокат, т. к. я не видел всего.

Seman в сообщении #1344326 писал(а):
С отладчиком, там вообще бедно, особенно когда по пайпу отлаживаешь драйвер уровня ядра на виртуальной машине.
Не могу оценить, правда ли нельзя там ничего сделать в этом случае или можно, потому что не знаю. Пользы от IDE это, однако, не нивелирует и вреда не добавляет.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 03:29 


29/12/13
306

(Оффтоп)

Ещё раз прошу всех извинить меня. Я просто плохо выражаю свою мысль. Это у меня от недостатка гуманитарного знания.
Я не имею ничего против ide, равно как и книжек, что рекламирует уважаемый г. Мунин. Я был удивлен советом про arr[3+1]
и посоветовал(без претензий на универсальность) держать равнение на cat Torbjorn Granlund`а и иже с ним. Я просто не видел нигде такого в каком либо реальном проекте как arr[3+1].

Я не имею ничего против любых ide . Вопрос почему некоторые настроены сильно против, я о них. Просто, знаю есть люди которые считают, что в образовательных целях надо запоминать максимально на память, минимум, что нужно точно помнить названия всех операторов, основных функций, а автозаполнение этому не способствует. Возможно они правы. Я не знаю. Я просто озвучил мысль. Дальше моя мысль, что нельзя(и не нужно) весь необходимый функционал разработки вынести в gui ide, как пример привел одну из самых накрученных и максимально заточенных под минимального пользователя msvs, но и у них все не вынесено. Это полезности от ide не нивелирует, и писать make файлы можно и в ide, но изучать такой программист, который начал с ide будет ide, а не реальные инструменты для программирования и писать make файлы не будет и возможности у него будут очень ограничены, тем что вынесено в ide, хотя реальные возможности шире. Как-то так.


Цитата:
правда ли нельзя там ничего сделать в этом случае или можно

(Оффтоп)

нет не правда. я говорил неудобно и минимально, что есть через gui. основное через консоль отладчика, она там есть уже в ide. но и разницы особой в этом случае нет через ide, или не через ide это делаешь.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 03:45 
Заслуженный участник


20/08/14
11805
Россия, Москва
Seman в сообщении #1344329 писал(а):
но изучать такой программист, который начал с ide будет ide, а не реальные инструменты для программирования и писать make файлы не будет и возможности у него будут очень ограничены, тем что вынесено в ide, хотя реальные возможности шире.
С таким подходом Вам надо изучать ассемблер, а то все языки высокого уровня та-а-ак ограничены ... :mrgreen:

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 04:44 


29/12/13
306
Dmitriy40 в сообщении #1344330 писал(а):
С таким подходом Вам надо изучать ассемблер, а то все языки высокого уровня та-а-ак ограничены ... :mrgreen:

(Оффтоп)

Я его давно уже отизучал и всем того советую. Это был мой второй язык. первый basic. Си был третьим.
Я серьезно. Вы не можете без ассемблера реально понимать как работает компьютер. Минимальное знание ассемблера и архитектуры под которую программируете. оно необходимо каждому грамотному человеку(не говоря о программисте) . Да и все его проходили в вузе.

-- 08.10.2018, 05:23 --

(Оффтоп)

про ассемблер из одной книги. качество не очень. так сфотографировалось.
Изображение
Я считаю оно в наше время . по прежнему актуально. может ещё актуальней чем тогда.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 06:30 


29/12/13
306

(Оффтоп)

я добавлю. С asm это не совсем то. что с ide. Я хочу донести мысль, мне она кажется очень важной, например, вы пишите на c++ в ms visual studio. там есть в свойствах проекта настройки компилятора. есть майкрософтский компилятор cl.exe, visual studio его вызывает, вы можете написать код в блокноте и скомпилировать, и скомпоновать его в исполняемый код(или управляемый) без visual studio. у самого компилятора есть и так не так много опций, которые вы можете использовать через командную строку, но даже они не все есть в свойствах проекта в ms visual studio. Тут cl.exe - реальный инструмент, visual studio - интегрированная среда, куда все включено, но за этим все включено, человек:
1) не всегда понимает с чем реально работает,я в реале встречал людей, программистов которые так и думали, что vs и есть компилятор сама по себе.
2) не всем может управлять и настраивать как мог бы.
Человек "застрявший в ide" не может до конца понимать и использовать даже инструменты с которыми работает(иногда даже не знает о их существовании).
Без asm же человек не может полноценно понимать как работает компьютер, ковырять/дизасемблировать чужие программы(которые без исходников),
и в полной мере отлаживать программы на С/С++ на самом деле тоже не может.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 09:17 


27/08/16
10290
Seman тут, похоже, участник с самым большим практическим опытом в программировании. К написанному им многим тут стоит прислушаться. Не заметил в написанном им тут ничего, что у меня вызвало бы отторжение.

Вот только не нужно закрывать всё обсуждение в теги "оффтопик". После того, как ТС отписался, что его проблема решена, всё остальное уже оффтопик.

PS Я сам очень люблю хорошие IDE. Но, помнится, как-то писал некоторые нужные мне простые программы под DOSовское окно под виндами в ноутпаде, компилируя их tc, вызываемый из батника.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 15:03 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Seman в сообщении #1344326 писал(а):
Денис Риччи автор языка.

Я, как бы, в курсе.

Seman в сообщении #1344326 писал(а):
На нем написан первый юникс и линукс тоже, что никак не маленькие системы.

Между ними 20 лет разницы. Советую посмотреть, какие у них размеры.

Seman в сообщении #1344326 писал(а):
И язык принципиально никак не менялся.

Менялся контекст.

Seman в сообщении #1344326 писал(а):
Цитата:
Например, даже на Си - обязательно, например, унифицировать систему обработки ошибок.

Что это такое ?

У-у-у. Пора заканчивать разговор.

(Для справки: система обработки ошибок - это то, для чего в частности были придуманы exceptions (и другие аналогичные механизмы в других языках). Любая ошибка в работе программы должна быть замечена и правильно обработана. Программы без такой системы при ошибке обычно крэшатся или выдают неверные данные. В худшем случае могут испортить чужие данные, вызвать крэш системы и даже её порчу. То, что сегодня это редкость, - заслуга людей, осознавших, что так нельзя.)

Seman в сообщении #1344331 писал(а):
про ассемблер из одной книги. качество не очень. так сфотографировалось.
...
Я считаю оно в наше время . по прежнему актуально. может ещё актуальней чем тогда.

Довольно наивная цитата. Та её часть, которая "за всё хорошее против всего плохого", возражений не вызывает.

Seman в сообщении #1344340 писал(а):
Я хочу донести мысль

Скажите, для начала, кому и зачем вы её хотите донести. И случился ли в этой теме достаточно значимый для этого повод.

realeugene в сообщении #1344365 писал(а):
Seman тут, похоже, участник с самым большим практическим опытом в программировании.

Поддерживаю сарказм.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 15:27 


27/08/16
10290
Munin в сообщении #1344441 писал(а):
Поддерживаю сарказм.
Это был не сарказм.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 16:19 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Тогда не поддерживаю. Seman несёт наивный бред, а вы не можете его отличить от профессионализма.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 16:56 


27/08/16
10290
Munin в сообщении #1344324 писал(а):
Во времена K&R практически невозможно было создание таких крупных систем, которые сегодня встречаются. И соответственно, не возникало соответствующих проблем и аспектов стиля.


Для примера. Г. Майерс, "Надёжность программного обеспечения", М., Мир, 1980. Перевод с английского Glenford J. Myers, Software Reliability, Principles and Practices, Wiley, 1976. Глава 9 называется "Стиль программирования". Есть разделы про архитектуру, про тестирование и про кучу других аспектов. Автор - сотрудник IBM Systems Research Institute и Lecturer in Computer Science, Polytechnic Instiutute of New York.

В 70-е уже существовали достаточно большие системы, и уже возникали "соответствующие проблемы и аспекты стиля". Так что, наивно бредите тут вы, если думаете, что всё началось лишь в третьем тысячелетии от РХ. На самом деле, всё придумано до нас. По некоторым ключевым фразам я вижу, с чем работал Seman. Вы, конечно, тоже где-то занимались программированием как минимум полупрофессионально, но его опыт, как мне кажется, больше вашего.

К слову, Smalltalk был разработан практически одновременно с Юниксом.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 17:20 
Заслуженный участник
Аватара пользователя


30/01/06
72407
realeugene в сообщении #1344482 писал(а):
В 70-е уже существовали достаточно большие системы

Согласен. Но они не "ставились на поток".

Другое важнейшее изменение: пользователи. В 70-е годы такими системами пользовались профессионалы. В 80-е, а особенно в 90-е, компьютеры пришли к простым людям, и простые люди устроили программам серьёзную проверку на прочность и "защиту от дурака". Кроме того, первые такие пользователи мирились с постоянными ошибками, крэшами, непонятной и сложной документацией, а часто её и отсутствием, но рынок заставил софтверные фирмы изменить это отношение.

realeugene в сообщении #1344482 писал(а):
По некоторым ключевым фразам я вижу, с чем работал Seman.

А ещё - насколько давно.

 Профиль  
                  
 
 Re: Странное поведение оператора if else в языке Си
Сообщение08.10.2018, 17:24 


27/08/16
10290
Munin в сообщении #1344488 писал(а):
А ещё - насколько давно.
Судя по отладке драйверов под виртуалкой, работает сейчас.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 102 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group