те языки и подходы, которые в итоге оказывались самыми практичными и популярными
Популярность — продукт рекламы и продвижения крупными компаниями. Качество при этом и рядом не валялось. Только финансовые интересы.
А с учетом такой популярности про практичность говорить бессмысленно.
Всё-таки между академическим программированием и прикладным есть большая разница.
Прикладное программирование — это когда школота лепит быдлокод? Для них и придуман был ООП.
Один мой знакомый в давние времена сказал такую умную вещь: объектное программирование должно быть в голове, а не в языке.
А большинству современных программистов до Дейкстры, как до Шанхая…
Дело было в 80-х годах, написал самодельный авиасимулятор (убогий по нынешним временам, техника была тогда слабая). Ну и развлекались с коллегами. В порядке эксперимента задал ВСХ (высотно-скоростные характеристики) двигателя, не зависящие от высоты, т.е. плотности атмосферы. Т.е. двигатель как-бы может работать без атмосферного воздуха. А программа атмосферных параметров использовалась реальная. Вот думаю, полетаю на супер-пупер фантастическом аппарате в ближнем космосе.
Эффект был сокрушительным. С набором высоты росла скорость, движки работают как в атмосфере. И вдруг начались чудеса. Начал странным образом прыгать угол атаки, моделирование прекратилось по выходу на запредельные перегрузки.
Анализ показал, что при очень большой скорости вырос коэффициент апериодического звена управления, соответственно характерное время стало меньше шага интегрирования. Экспоненциальное по времени приближение угла атаки к заданной величине заменилось ломаной, короче модель перестала работать.
Именно тогда возникла шуточная мысль, что квантовые эффекты, обнаруженные досужими физиками имеют аналогичную природу. Создатель вселенной не предусмотрел, что ушлые высшие приматы на определенном этапе развития построят ускорители элементарных частиц и будут сильно удивлены странными нарушениями здравого смысла в закономерностях мироздания.
Наверняка такие мысли приходили многим, но я впервые это увидел в данной статье.
С моей точки зрения писать большие программы на языке без строгой типизации — это хождение по канату. В статье об этом ясно написано. Если вы меняете спецификацию процедуры (состав и типы параметров), которая вызывается по всему коду пару сотен раз, то в языке типа PHP или JavaScript это катастрофа. А у нас вы просто запускаете генерацию и получаете курсор в месте очередной ошибки несоответствия параметров. И пока не исправите, дальше не продвинетесь.
Большие программы пишут на всем, что есть. Это меня всегда забавляло. Вот и в цирке некоторые уникумы ходя по канату. Но это не означает, что по канату надо ходить всем.
Идеалист – это тот, кто, обнаружив, что у розы запах лучше, чем у
капусты, сделает вывод, что и бульон из розы получится лучше.
Я вот сейчас не поленился, привстал со стула, повернулся к книжной полке и измерил линейкой толщину книги Страуструпа (3-е издание 1999 года) по C++. Результат 42 мм. При этом значительного эффекта по-сравнению с C не дает.
C — это всего лишь возомнивший о себе ассемблер. И тем хорош, что реализуется сразу на любой платформе. И не навязывает лишнего.
PHP и JavaScript — языыки без контроля типов ил с очень слабым. Были придуманы для написания небольших программ. Математически вполне остроумны и изящны, но не для программирования больших систем. А когда все перечисленное сваливается в одну кучу, с этим работать весьма затруднительно. Именно поэтому мы и развиваем свой инструмент. В статье написано, что преимущество нашего подхода проявляется только на очень больших программах.
Лет десять назад была попытка задействовать потоки в сервере. Поразмыслив, отказались. Если нужна параллельность вычислений, то лучше в разных процессах. Сейчас пытаемся в новой модели приложений сделать два потока, один — графика, другой — сеть, протокол.
расскажите пожалуйста о своём многодесятилетнем неприятие С++
С утра до вечера денно и нощно не принимал язык. Шутка.
Если серьезно, то по моему мнению языки делятся на две категории: с ручным управлением памятью и со сборщиком мусора. К первым безусловно относится C. Ко вторым — Java. Язык C++ — это тянитолкай, в котором пытались совместить ручное управление памятью и работу с объектами. Хотели в языке объединить преимущества двух подходов, но в результате, как обычно бывает, объединили недостатки.
Ну и в отношении масс к языкам зачастую определяет на свойства самого языка, а наличие доступных в нем библиотек, ну и, разумеется, реклама.
Бессмыслица какая-то. Количество открытых портов, строк кода, утилит внутри проекта, и ни слова о том, что он делает.
В статье и не ставилась цель рассказать об упомянутом проекте.
Зачем-то рассказываете про премущество трансляции из языков высокого уровня в язык Си в 2017 году, когда это для всех уже самоочевидно.
Если это самоочевидно, то об этом нельзя говорить?
GTK под win32 работает
На приложения gtk под win32 без слез смотреть невозможно.
И, похоже, команда gtk решила самоубиться, если судить по тому, как там развивается ситуация.
а не взять сразу Qt?
Qt взяли недавно преодолев брезгливость от C++.
Большие вопросы в состоятельности экспорта из вашего языка в JS и Java, и html со смесью вашего яыка, он либо очень примитивен, либо… а без вариантов — уж больно разные системы вы целитесь поддерживать.
Реализуется экспорт подмножества языка. А насчет примитивен — не надо думать, что если вы что-то считаете невозможным, то это невозможно для всех остальных.
Все это есть очень много где, или абстракция для этого пишется очень быстро. Особо мощного DSL в вашем базовом языке нет, это фактически очень тонкая обертка над Си, которая по выразительности явно проигрывает любому современному языку высокого уровня. У С++ конечно много проблем, но даже беря его двольно безобидное подмножество уровень возможностей будет выше, чем в вашем языке.
Не слишком ли категорично? Вы судите об сложной системе по короткой статье, написанной на одном дыхании, чтобы посмотреть реакцию общественности.
Мое личное мнение — вы со своим проектом застряли где-то на уровне начала нулевых, когда велосипедостроение не было чем-то зазорным, а любой подход к построению коммерческих систем считался рабочим покуда за него платят деньги, какая бы дичь не была под капотом. Судя по примеру кода на базовом языке, который вы привели, в поддержке таких программ приятного мало.
Не нравится — вот и чудненько. Пишите на фреймворках и бог вам в помощь.
Я думаю, что таких комментариев будет еще много, потому и ответил достаточно развернуто, чтобы потом не повторяться.
За несколько десятилетий практики разработки систем как-то обходились без объектного программирования (список систем см. по ссылке в первом абзаце).
Хотя сейчас пришлось задействовать и Си++ в генерируемом коде, т.к. приняли решение использовать Qt, но с чувством глубокого неприятия.
Популярность — продукт рекламы и продвижения крупными компаниями. Качество при этом и рядом не валялось. Только финансовые интересы.
А с учетом такой популярности про практичность говорить бессмысленно.
Прикладное программирование — это когда школота лепит быдлокод? Для них и придуман был ООП.
Один мой знакомый в давние времена сказал такую умную вещь: объектное программирование должно быть в голове, а не в языке.
А большинству современных программистов до Дейкстры, как до Шанхая…
Эффект был сокрушительным. С набором высоты росла скорость, движки работают как в атмосфере. И вдруг начались чудеса. Начал странным образом прыгать угол атаки, моделирование прекратилось по выходу на запредельные перегрузки.
Анализ показал, что при очень большой скорости вырос коэффициент апериодического звена управления, соответственно характерное время стало меньше шага интегрирования. Экспоненциальное по времени приближение угла атаки к заданной величине заменилось ломаной, короче модель перестала работать.
Именно тогда возникла шуточная мысль, что квантовые эффекты, обнаруженные досужими физиками имеют аналогичную природу. Создатель вселенной не предусмотрел, что ушлые высшие приматы на определенном этапе развития построят ускорители элементарных частиц и будут сильно удивлены странными нарушениями здравого смысла в закономерностях мироздания.
Наверняка такие мысли приходили многим, но я впервые это увидел в данной статье.
Кто тут ходит по ровному полу я вообще не понял.
https://www.ustech.ru/ostcgi/ostagn?section=products&product=yenisei
Идеалист – это тот, кто, обнаружив, что у розы запах лучше, чем у
капусты, сделает вывод, что и бульон из розы получится лучше.
Приходи в голову анекдот:
Вы знаете, что в Испании самое распространенное имя — Хосе? А наименее распространенное — Василий Тимофеевич.
А если серьезно, то недостаток готовых инструментов в том, что на их освоение уходит очень много времени, а потом оказывается, что он не подходит.
C — это всего лишь возомнивший о себе ассемблер. И тем хорош, что реализуется сразу на любой платформе. И не навязывает лишнего.
С утра до вечера денно и нощно не принимал язык. Шутка.
Если серьезно, то по моему мнению языки делятся на две категории: с ручным управлением памятью и со сборщиком мусора. К первым безусловно относится C. Ко вторым — Java. Язык C++ — это тянитолкай, в котором пытались совместить ручное управление памятью и работу с объектами. Хотели в языке объединить преимущества двух подходов, но в результате, как обычно бывает, объединили недостатки.
Ну и в отношении масс к языкам зачастую определяет на свойства самого языка, а наличие доступных в нем библиотек, ну и, разумеется, реклама.
В статье и не ставилась цель рассказать об упомянутом проекте.
Если это самоочевидно, то об этом нельзя говорить?
На приложения gtk под win32 без слез смотреть невозможно.
И, похоже, команда gtk решила самоубиться, если судить по тому, как там развивается ситуация.
Qt взяли недавно преодолев брезгливость от C++.
Реализуется экспорт подмножества языка. А насчет примитивен — не надо думать, что если вы что-то считаете невозможным, то это невозможно для всех остальных.
Не слишком ли категорично? Вы судите об сложной системе по короткой статье, написанной на одном дыхании, чтобы посмотреть реакцию общественности.
Не нравится — вот и чудненько. Пишите на фреймворках и бог вам в помощь.
Я думаю, что таких комментариев будет еще много, потому и ответил достаточно развернуто, чтобы потом не повторяться.
Хотя сейчас пришлось задействовать и Си++ в генерируемом коде, т.к. приняли решение использовать Qt, но с чувством глубокого неприятия.