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
11177
Россия, Москва
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
9426
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
9426
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
9426
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
9426
Munin в сообщении #1344488 писал(а):
А ещё - насколько давно.
Судя по отладке драйверов под виртуалкой, работает сейчас.

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

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



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

Сейчас этот форум просматривают: Missir


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

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