IT в России и мире в реалиях мирового кризиса

1,404,093 8,484
 

Фильтр
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Jack Doe от 02.03.2016 16:31:12предрассудок остался. goto крайне удобен, просто им нужно пользоваться умело. Я им пользуюсь, когда нужно.

Вот именно! Правильный подход. И не к одному безусловному переходу. К технике/методам/средствам вообще.
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Oleg K. от 02.03.2016 18:34:13На любом языке можно написать и понятно, и ужасно. Не в языке дело, а в программисте. В 99% случаев это так.

Вы все же не вполне правы. Безусловно, программирование - интеллектуальная деятельность, и от исполнителя зависит очень многое.
Однако! От инструмента, предоставляемого этому исполнителю, зависит тоже многое. Не зря в Формуле-1 награждают и пилотов, и конструкторов. Вместе получается результат.
От языка зависит способ мышления, метод решения задачи. Вы знакомы с принципами Лиспа? Эрланга? Пролога? HiAsm? Visual Age?
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Демонический кот от 02.03.2016 16:42:36Си уже давно стал промышленным стандартом

Возможно, в этом наше большое несчастье...
  • +0.01 / 1
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Lapsha от 03.03.2016 07:40:06в бСССР до сих пор необъяснимо популярен этот Делфи, и до сих пор в вузах учат на этом Паскале. Что могу объяснить только засильем в вузах преподов еще с раньшего времени.

В конце концов, придумали Паскаль вовсе не в СССР. У нас и лучше были языки, Рапира например.
Паскаль - идеологически "чище", нежели Си, и изначально создан был именно как язык первоначального обучения программированию. И не только в б.СССР, кстати, до сих пор на нем учат. Я лично, правда, не использую, преподаю с первого курса на базе С/С++.
  • +0.01 / 1
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Superwad от 03.03.2016 08:26:16критическое ПО для российских ракет пишется явно не на Си

Это с чего ж Вы взяли???
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Lapsha от 03.03.2016 18:52:23армейцы в Штатх и НАТО пользуют язык Ада, а не С/С++.

Теперь к Вам, простите, тот же вопрос: Вы с чего же это взяли??? Еще как и Си, и С++ используется. И JOVIAL. И много чего еще, зоопарк целый.
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Lapsha от 03.03.2016 19:05:49Java пользует очень близкий к C++ синтаксис и лексику. По причине их удобства и эффективности

Ну, по поводу "удобства и эффективности" синтаксиса Си - вопрос чрезвычайно спорный.
  • +0.01 / 1
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: TAU от 04.03.2016 01:19:08Теперь к Вам, простите, тот же вопрос: Вы с чего же это взяли??? Еще как и Си, и С++ используется. И JOVIAL. И много чего еще, зоопарк целый.


Взял тупо из принятого в 91-м году закона. Известном в народе как "Ada mandate".

http://www.dwheeler.com/lovelace/doduse.htm


Цитата: ЦитатаNotwithstanding any other provisions of law, where cost effective, all

Department of Defense software shall be written in the programming

language Ada, in the absence of special exemption by an official
designated by the Secretary of Defense.


Вот скан публикации закона Конгресса (читать с Programming Language... и далее):
Here
Только Ада. Исключения - только за официальной подписью министра обороны.

Там, в первой ссылке есть результаты исследования за 95-й год на тему какие языки использовались в оборонке на момент исследования. Так вот, тогда они распределились так: по числу строк кода Ада была уже 2-й после КОБОЛа, а по числу ответов автоматического распознавания софта была уже первой, потом C 89, COBOL pre-85, COBOL 85, и только потом С++. И это всего через 4 года после принятия закона. Сейчас, еще через 21 год, там почти ничего кроме Ада не осталось, только на старых железяках.

Разрабатывался Ада именно по заказу и финансированию Пентагона.
НАСА тоже давно переключилось на Ада.
Ада, кстати говоря, в основе имеет Паскаль.
Отредактировано: Lapsha - 04 мар 2016 07:12:37
  • +0.00 / 0
  • АУ
kisur   kisur
  04 мар 2016 08:56:04
...
  kisur
Цитата: Jack Doe от 03.03.2016 20:43:15Чистый Си сейчас используется в основном при написании прошивок для микроконтроллеров, разработки ядер ОС, СУБД, системного софта.
Писать на нем прикладные программы есть смысл только если нужна выдающаяся скорость работы, поскольку требуется программист высокой квалификации.



Скрытый текст

Немножко в сторону PHP. Предъявлять какие-то большие требования к нему не имеет смысла. Он нужен для прокладки между чем-то большим, темным и не понятным на сервере и красивым у клиента в браузере. На мой взгляд, прекрасно справляется. От явы я сейчас усиленно избавляюсь (со своей гребаной политикой постоянных латаний дыр и желанием браузера с ентой самой бедой работать). Получить данные от клиента, сформировать запрос к СУБД, сверстать страничку и отдать клиенту (оптимизированную по самое и не содержащую в своем теле какие-то важные элементы модели взаимодействия или структуры продукта). Ежели нужно что-то близкое к аппаратным средствам, то чем лучше компилятор, тем лучше (Сишный на мой взгляд). Ежели у вас мега проект, то будет однозначно своя среда разработки с кучей типизированных функций и штатом программистов. Для внедрения, чем меньше всяких магических действий нужно сделать на компе пользователя, тем лучше. По поводу богатой библиотеки. На мой взгляд это богатство юзают или прожженные, либо усидчивые (которые не любят изобретать велосипед и есть возможность пролопатить архимегапупер крутой набор библиотек и потом интегрировать в свой проект). По поводу синтаксиса. Это на мой взгляд обертка от конфеты. К чему человек привык так ему и нравится. Я на своем веку шкодил в очень многих средах от ASMа до делфей с VB и каждый раз сидишь и плюешься, то точка с запятой, то скобочки, то вызов не так организован, то еще какая-то особенность и уникальность супер удобной среды. На мой взгляд важно на сколько меньше "мусора" образуется в коде при компиляции. Но принимая во внимание производительность современных компов, то, что прога собрана крупно модульным методом (в которых может использоваться менее процента функционала модуля) является не таким уж критическим.
Далее, проекты делятся на категории. Где-то важна юзабельность, где-то производительность, где-то адаптивность. Всё это по большей части взаимоисключающие условия. Т.е. если вам надо супер пупер производительную систему, то в ней будет один процесс, если надо рюшечки с фигушечками и мусипусечками, то клиент имеет парк мощного железа с хорошими каналами или вообще не помышляет о сетевом обмене данных. Вспоминается мультик про Каштанку (плотник супротив столяра). Заставьте столяра дом трехэтажный построить? Смеющийся
Отредактировано: kisur - 01 янв 1970
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: Lapsha от 03.03.2016 18:52:23Именно религиозный фанатик.

Один сплошной негатив о по какой-то причине не нравящемся языке программирования. С приведением не доводов в виде фактов, а каких-то натужных фантазий.
Объясните тогда, зачем Вы пользуетесь продуктами, созданными на этом "геморном инструменте", такими как: операционной системой вместе со всеми драйверами и контроллерами, браузером, протоколом TCP/IP и его надстройкой HTTP. Все это Вы используете для засылки на этот форум сообщений.
Почему, согласно Вашим же словам, Вы не используете операционки, драйверы, браузеры, сетевые протоколы и т.п., созданные более простым и надежным инструментом - Паскалем?

Что касается качества продуктов, то компиляторы и сборщики С/С++ уж точно гораздо лучше вылизаны, чем паскалевские. По простой причине: С/С++ - основной промышленный язык разработок.

Вы там ранее недостижимо искрометно юморили по поводу софта для Ф-35. Так вот: армейцы в Штатх и НАТО пользуют язык Ада, а не С/С++.

Ну я на деле перфекционист. Стремлюсь к более совершенным вещам. Если что-то не устраивает, то списывается в утиль без сожаления. Си и Со из этого разряда. Не соответствуют МОИМ критериям. И дело не в идеологии, а дело в удобстве и затратах. Не люблю сильно затратные вещи/технологии. Чем проще и лучше результат - тем лучше для меня. И это никакая не религия. Если бы Си соотвествовал этим критериям - использовал бы его. А так, в треш его.
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Superwad от 04.03.2016 07:22:25Ну я на деле перфекционист. Стремлюсь к более совершенным вещам. Если что-то не устраивает, то списывается в утиль без сожаления. Си и Со из этого разряда. Не соответствуют МОИМ критериям. И дело не в идеологии, а дело в удобстве и затратах. Не люблю сильно затратные вещи/технологии. Чем проще и лучше результат - тем лучше для меня. И это никакая не религия. Если бы Си соотвествовал этим критериям - использовал бы его. А так, в треш его.

Если перфекционист, то почему продолжаете пользоваться продуктами, созданными именно этими несовершенными затратными технологиями? 

Перфекционист на деле, а не в декларациях на публику, не стал бы пользоваться подобными вещами.

Пользоваться нужно продуктами, созданными на Паскале и Обжект Паскале. 

Это будет незабываемый и яркий опыт, просто уверен в этом!
Отредактировано: Lapsha - 04 мар 2016 11:24:45
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: Lapsha от 03.03.2016 18:52:23Именно религиозный фанатик.

Один сплошной негатив о по какой-то причине не нравящемся языке программирования. С приведением не доводов в виде фактов, а каких-то натужных фантазий.
Объясните тогда, зачем Вы пользуетесь продуктами, созданными на этом "геморном инструменте", такими как: операционной системой вместе со всеми драйверами и контроллерами, браузером, протоколом TCP/IP и его надстройкой HTTP. Все это Вы используете для засылки на этот форум сообщений.
Почему, согласно Вашим же словам, Вы не используете операционки, драйверы, браузеры, сетевые протоколы и т.п., созданные более простым и надежным инструментом - Паскалем?

Что касается качества продуктов, то компиляторы и сборщики С/С++ уж точно гораздо лучше вылизаны, чем паскалевские. По простой причине: С/С++ - основной промышленный язык разработок.

Вы там ранее недостижимо искрометно юморили по поводу софта для Ф-35. Так вот: армейцы в Штатх и НАТО пользуют язык Ада, а не С/С++.

Начнём с того, что я использую только то что мне нравится. Если есть лучшая альтернатива, я буду использовать это. Если нет - ничего не поделаешь.
Я, например, отказался от винды, потому что это помойка, офис от них - ушел туда же. На работе приходится использовть XP, потому, что пока не заменили на другое.
Насчет компилятора и типа языка. Они должны решать определенные задачи.
Я выделяю три типа ошибок программного кода:
1. Синтаксические
2. Логические
3. Системно - архитектурные.
Первый тип ошибок устраняет компилятор (его "вылизанность"). Не более того. Временные затраты - 17 %.
Второй тип ошибок позволяет выявить уже сам тип языка + составление алгоритмических схем (например, советский/российский язык ДРАКОН). Вот тут тратится больше времени на программу - 70 %.  Вот почему Object Pascal тут выигрывает у Си. У него это показатель пониже будет на сопоставимой задаче.
Третий вид ошибок - это изначально парадигма всего продукта - это всецело зависит на сегодня от человека, который проектирует саму систему.
Кстати, из-за второго типа ошибок и выявляется проблемы с уязвимостью кода и, очень меньшую часть, от первого типа ошибок. А это приблизительно до 17 % успешных атак взлома кода. Не так уж и много, но и не мало.
Пример третьего вида ошибки - это виндовс. ибо нормальной четкой архитектуры нет - сплошные костыли, которые ещё как-то работают.
Если не нравится, что компилятор Паскаля тянет херову тучу ненужного кода, всегда есть возможность использовать не VCL библиотеки, а KOL.
И да, графическая морда в БД на сегодня это довольно большой класс программ, особенно специализированных. Я , например, на работе под себя, использую практически 100 %. Специфика. И Lazarus очень даже неплохо с этим справляется. Да и возможностей у него хватает. Для много чего. Не только для GUI+БД. Кстати, я ещё освоил многопоточность на нём. В некоторых вещах очень полезная штука (хотя очень тяжелая для отладки, да ещё и непредсказуемая местами).
Кстати, как-то заглянул в базовые классы VCL Delphi, так там до 50 % кода на ASM. И ничего, работает всё.
Кстати, Лазарус позволяет писать смешанный код с использованием вставок на ASM и Си, так как компилятор основан на GCC. Меня это не напрягает нисколечко.
Ну как-то так.
  • +0.00 / 0
  • АУ
Поверонов
 
Слушатель
Карма: +38.60
Регистрация: 05.06.2010
Сообщений: 19,893
Читатели: 8
Зачем нужен goto в языках программирования ... Если нужно на языке записать сильно нагруженный цикл ( много миллионов раз ) то при использовании внутри цикла вызовов функций или процедур заметно повышаются суммарные накладные расходы ( overhead ) на оформление вызовов ( сохранение контекста, вталкивание аргументов в стэк и т.д. ) Использование goto вместо call в циклах, когда это возможно, повышает быстродействие. Разумеется, разница проявляется лишь на "длинных" циклах, но такие тоже иногда нужны. В циклах компромиссом между call и goto являются inline вызовы, когда всё тело функции компилируется по месту вызова.
Отредактировано: Поверонов - 04 мар 2016 12:06:18
  • +0.02 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: LightElf от 03.03.2016 22:05:321) Пользоваться надо тем инструментом, который позволяет решать задачу быстро и качественно. Утверждение,  что begin..end гораздо гораздее, чем {..} заставляет сильно смеяться.  Это именно что религиозное рвение и не более того.
2) в исходном примере goto используется для перехода в точку, где выполняются завершающие действия: закрытие файлов, освобождение занятых ресурсов и т.д. Вы привели контр -пример, в котором эти необходимые действия не выполняются. Т.е. контр-пример не эквивалентен исходной задаче и потому ничего не доказывает и не опровергает. 
3) обойтись без goto можно. Но цена может быть весьма велика именно в плане сопровождения кода. "goto fatal_error" гораздо понятнее и нагляднее, чем куча мутных флагов с десятком условий.

Насчет скобок - тут играет физиология человека, и нечего смеяться  {  } скобочки ВИЗУАЛЬНО хуже воспринимаются, чем слова Begin  End. Что тут такого религиозного? Чистая прагматика, и ничего больше.
  • +0.01 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: TAU от 04.03.2016 00:56:59Увы! Приведенное в цитате - яркая иллюстрация уровня развития... Вот именно, что программер.
Нужно четко различать программеров  и  инженеров-программистов...

Ну не надо так уж придираться к словамУлыбающийся Есть четкая типизация инженеров-программистов по типу генерируемого исходного кода Веселый
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: TAU от 04.03.2016 01:16:37Это с чего ж Вы взяли???

Как-то нашел форум, посвященный ДРАКОНу. Там описывалась его история. И было упоминание про язык программирования для ракет. Это смесь ДРАКОНа и второго языка, который засекречен, кроме названия - ничего не известно. За что купил, за то продал.
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.50
Регистрация: 27.02.2012
Сообщений: 2,644
Читатели: 0
Цитата: Lapsha от 04.03.2016 08:19:47Если перфекционист, то почему продолжаете пользоваться продуктами, созданными именно этими несовершенными затратными технологиями? 

Перфекционист на деле, а не в декларациях на публику, не стал бы пользоваться подобными вещами.

Пользоваться нужно продуктами, созданными на Паскале и Обжект Паскале. 

Это будет незабываемый и яркий опыт, просто уверен в этом!

Великолепный пример, в своё время использовал почтовик The Bat! Написан на Delphi? очень качественная вещь. Просто я решил уважать труд, где это можно, настоящих программистов, и плачу только за действительно, качественный, с моей точки зрения ПРОДУКТ. Но сегодня появилось большое количество вполне функциональных продуктов СПО, почему ими не пользоваться?
  • +0.00 / 0
  • АУ
Alexxey
 
Слушатель
Карма: +47.85
Регистрация: 12.02.2009
Сообщений: 6,364
Читатели: 3
Цитата: Superwad от 04.03.2016 09:33:08Насчет скобок - тут играет физиология человека, и нечего смеяться  {  } скобочки ВИЗУАЛЬНО хуже воспринимаются, чем слова Begin  End. Что тут такого религиозного? Чистая прагматика, и ничего больше.

У Вас именно к фигурным скобкам такая неприязнь или вообще ко всяким?
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Lapsha от 04.03.2016 02:43:071. "Ada mandate".
2. Там, в первой ссылке есть результаты исследования за 95-й год на тему какие языки использовались в оборонке на момент исследования. Так вот, тогда они распределились так: по числу строк кода Ада была уже 2-й после КОБОЛа, а по числу ответов автоматического распознавания софта была уже первой, потом C 89, COBOL pre-85, COBOL 85, и только потом С++. И это всего через 4 года после принятия закона. Сейчас, еще через 21 год, там почти ничего кроме Ада не осталось, только на старых железяках.
3. Разрабатывался Ада именно по заказу и финансированию Пентагона.
4. НАСА тоже давно переключилось на Ада.
5. Ада, кстати говоря, в основе имеет Паскаль.

3 и 5 - вещи общеизвестные, но, в общем, не имеющие прямого влияния на реально используемые при создании ПО военного назначения средства.
По поводу 1. Там фигурирует своеобразный термин "Department of Defense software". Подозреваю, под него не попадает весьма большая часть ПО, используемого в военной сфере. Весьма показательно использование КОБОЛа, языка бизнес-приложений. Опять же рискну предположить, что термин "DoD software" обозначает некое управленческое ПО собственно министерства.
2. Вы представляете себе долю "старых железяк" в армии, ВМС, ВМФ? Причем их ПО нужно продолжать совершенствовать и дорабатывать.
4. Мягко говоря, это не так.
Ну и, наконец, как бы Вы соотнесли свои утверждения "почти ничего кроме Ады не осталось" с всем известными фактами разработки ПО Ф-35 на С/С++ и ПО марсохода Curiosity аналогично? Вроде бы "свежие" разработки.
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.43
Регистрация: 24.07.2008
Сообщений: 4,228
Читатели: 0
Цитата: Superwad от 04.03.2016 09:37:30Как-то нашел форум, посвященный ДРАКОНу. Там описывалась его история. И было упоминание про язык программирования для ракет. Это смесь ДРАКОНа и второго языка, который засекречен, кроме названия - ничего не известно. За что купил, за то продал.

А! Ну, давайте я займусь Вашим ликбезом как достаточно активный участник того самого форума.
В НПЦ АП имени Пилюгина для программирования систем управления ракет действительно используется ГРАФИТ/ФЛОКС (ГРАФИТ - изначальное название этой технологии в НПЦ АП, под "засекреченным" Вы, скорее всего, имели в виду ФЛОКС). Используется наряду с другими языками, например, проблемно-ориентированным языком "У".
Кроме того, ПО для ракет и разгонных блоков в нашей стране создается и в других местах. Например, в НПОА в Екатеринбурге.

Поэтому утверждать, что при написании ПО для ракет ничего не используется, помимо ДРАКОНа - неверно.
  • +0.00 / 0
  • АУ
Сейчас на ветке: 6, Модераторов: 0, Пользователей: 0, Гостей: 1, Ботов: 5