Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Мальчик-Одуванчик »

Языки - те же самые инструменты, которые помогают не только программировать, но и мыслить.
В этом плане SmallTalk, Pascal, Algol68 - больше служили источником вдохновения, как например сейчас Haskel
И если появляются новые хорошие инстркменты, то я только приветствую этот процесс.
Благодаря Haskel мне удалось обогатить свой арсенал и манеру мышления функциональным программированием, а Dart помог освоить декларативное.
Благодаря питону удается быстро разгребать рутину и создавать инструменты тестирования более сложных приложений, написанных на плюсах.

Дома и новых инструментов появился трехмерный принтер, воздушная и нифракрасная паяльные станции - это тоже новые инструменты для хобби.
Скоро появится станок для автоматического сверления и выделки плат, а в рабочих планах освоить Rust
Andrey Strelnikov
Уже с Приветом
Posts: 607
Joined: 17 Dec 2009 11:27

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Andrey Strelnikov »

Мальчик-Одуванчик wrote: 28 Sep 2021 03:33 Языки - те же самые инструменты, которые помогают не только программировать, но и мыслить.
В этом плане SmallTalk, Pascal, Algol68 - больше служили источником вдохновения, как например сейчас Haskel
И если появляются новые хорошие инстркменты, то я только приветствую этот процесс.
Благодаря Haskel мне удалось обогатить свой арсенал и манеру мышления функциональным программированием ...
Ну что такого положительного может дать хаскель ?
Если какой-то кадр, накурившись этого замечетельного языка, будет целый день запихивать функцию в одну строку - то его надо бить тапком. Потому что если не углядите, то потом прийдется вам неделю курить эту строку.

Когда в js дали arrow-функции, то один вчерашний студень устроил хоровод функций в коде. Со стороны читать и править было вообще гемморно. Даже не жалко было когда он ушел.

Я как-то раз прошел курс по Хаскелю до монад. И точно знаю что ФП зло в сколь-нибудь видимых количествах.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Мальчик-Одуванчик »

Andrey Strelnikov wrote: 29 Sep 2021 13:49
Мальчик-Одуванчик wrote: 28 Sep 2021 03:33 Языки - те же самые инструменты, которые помогают не только программировать, но и мыслить.
В этом плане SmallTalk, Pascal, Algol68 - больше служили источником вдохновения, как например сейчас Haskel
И если появляются новые хорошие инстркменты, то я только приветствую этот процесс.
Благодаря Haskel мне удалось обогатить свой арсенал и манеру мышления функциональным программированием ...
Ну что такого положительного может дать хаскель ?
Хаскель мне в плюсах помогает писать код, который легче распараллеливать.
deev_a_v
Уже с Приветом
Posts: 4660
Joined: 07 Apr 2018 15:16

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by deev_a_v »

Раз уж разговор зашел о Смoлтоке просто хочу напомнить, что язык был разработан в известной лаборатории PARC, той самой, откуда в мир вышли мышь, графические дисплеи и принципы современного GUI. То есть все то, что в IBM традиционно презирали и презирают.
В 90-х они попытались влезть в эту область IT со своими VisualAge продуктами, но в итоге все просрали.

Теперь про сам Смолток. Как я уже написал, язык родился в рамках разработки новых принципов взаимодействия человек-машина. Графические обьекты на экране естественным образом отображались на программные обьекты и классы обьектов, а щелчки мыши - на сообщения, посылаемые этим обьектам.
Так родился Смолток, где все, подчеркиваю все, является обьектом, который реагирует на сообщения. В языке нет даже традиционных операторов if, for и пр. Вместо их представлены специальны встроенные обьекты, которые принимают сообщения. Синтаксис языка выглядит как то так

Code: Select all

push: item
      | save |
   top := top+1.
   top > anArray size ifTrue: 
      "anArray is about to overflow.  make a new array twice as big, and
       copy the old values into it"
      [save := anArray.
       anArray := Array new: 2*save size.
       1 to: save size do:
          [:k | anArray at: k put: (save at: k)]].
   anArray at: top put: item
Удачи в изучении! :D

Смолток по сути родился как упражнение изошренного ума разработчиков по доведению концепций ООП до абурда абсолюта. И надо сказать, это им удалось. Многие концепции, заложенные в язык потом копировались другими, более традиционными языками.
Но в практическом плане язык после появления Java шансов на успех не имел.
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

deev_a_v wrote: 30 Sep 2021 12:20 Раз уж разговор зашел о Смoлтоке просто хочу напомнить, что язык был разработан в известной лаборатории PARC, той самой, откуда в мир вышли мышь, графические дисплеи и принципы современного GUI. То есть все то, что в IBM традиционно презирали и презирают.
......
1964: https://en.m.wikipedia.org/wiki/IBM_2250

1969: https://en.m.wikipedia.org/wiki/PARC_(company)

А вот я действительно презираю метод разработки чего-либо исключительно через/с GUI.
Есть много задач решение которых через GUI дает очень плохой результат.
Несоразмерное, необоснованное использование GUI, наблюдаемое повсеместно а ИТ, дает огромный негативный эффект еа пользователей. Сюда также следует добавить зуд постоянного изменения интерфэйсов, их переписывание снова и снова.
Но современные программисты научены писать только программы с GUI. Им даже в голову не приходит иное.
Тем не менее, ид своего оаыта, я хотел бы отметить продукт IBM IDR, как пример оптимального сочетания GUI и другого подхолы.
А с другой стороны, опять же из своего опыта, я бы указал на Oracle Golden Gate, как пример командной строки (тоже не пакетный режим) но написанный так же как пишут современные GUI программисты.
Поясню, для ясности, GUI ориентированное программирование это когда пользователю предоставляется как бы максимальная гибкость, но пользователь не в состоянии ей воспользоваться потому что он не знает что надо правильно плдбирать. Иначе говлря это когда пользователю дается ящик с Лего, элементы из которого пользователь далеко не все знает или мог бы знать.
С GG у нас даже опытный профессинал без помощи поддержки Оракл разобраться не может. Да, в конце концов правильное решение находится, но..

Так что дело не в GUI-ях. И не в ИБМ. Хотя именно политика ИБМ привела к печальному состоянию Смолтолк. А VisualAge это здорово было, раньше других.
deev_a_v
Уже с Приветом
Posts: 4660
Joined: 07 Apr 2018 15:16

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by deev_a_v »

zVlad wrote: 30 Sep 2021 19:37
deev_a_v wrote: 30 Sep 2021 12:20 Раз уж разговор зашел о Смoлтоке просто хочу напомнить, что язык был разработан в известной лаборатории PARC, той самой, откуда в мир вышли мышь, графические дисплеи и принципы современного GUI. То есть все то, что в IBM традиционно презирали и презирают.
......
1964: https://en.m.wikipedia.org/wiki/IBM_2250
Это не растровый(пиксельный) дисплей.
deev_a_v
Уже с Приветом
Posts: 4660
Joined: 07 Apr 2018 15:16

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by deev_a_v »

zVlad wrote: 30 Sep 2021 19:37
Несоразмерное, необоснованное использование GUI, наблюдаемое повсеместно а ИТ, дает огромный негативный эффект еа пользователей.
Надеюсь вы не lynx используете, чтобы форум читать? 8)
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by iDesperado »

zVlad wrote: 30 Sep 2021 19:37 С GG у нас даже опытный профессинал без помощи поддержки Оракл разобраться не может.
ваши "профессионалы" репликацию в оракле настроить не могут, рассказывают что инсталяция оракла в облаке месяца занимает. мы уже осмеивали и лично ваш профессионализм и вашей канторы инвалидов в целом. кстати об инвалидах, как там та табличка, докопировалась в облако ? год прошел, инвалиды справились с этим титаническим трудом ?
User avatar
apex
Уже с Приветом
Posts: 2230
Joined: 24 May 2008 13:28
Location: Chicago

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by apex »

Помню рассказ был, как больного человека замораживают, чтобы разморозить когда научатся лечить его болезнь.
А результате размораживают его через 8 тысяч лет и говорят что лечить вашу болезнь мы не научились, но у вас в деле написано, что вы на коболе программировать умеете, а у нас Y10K надвигается.
anekdot.ru
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by M. Ridcully »

Мальчик-Одуванчик wrote: 29 Sep 2021 21:58
Andrey Strelnikov wrote: 29 Sep 2021 13:49 Ну что такого положительного может дать хаскель ?
Хаскель мне в плюсах помогает писать код, который легче распараллеливать.
+много
И - в моем случае - дело даже не в распараллеливании. Скорее - опыты с Хаскелем делают мой код на С++ лучше.
Более конкретно - в меру сил стараюсь искоренять implicit state. Если нужен state - сделай это явно, твою мать! К сожалению, в индустрии очень много травмированных ООП, а это стиль способствует бурному росту этого сорняка (я про state).
Мир Украине. Свободу России.
User avatar
adb
Уже с Приветом
Posts: 9258
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by adb »

zVlad wrote: 30 Sep 2021 19:37 Несоразмерное, необоснованное использование GUI, наблюдаемое повсеместно а ИТ, дает огромный негативный эффект еа пользователей. Сюда также следует добавить зуд постоянного изменения интерфэйсов, их переписывание снова и снова.
Так и есть. На том же IPhone, планшете гораздо проще и понятнее через консоль все делать (iphone | igrep "zVlad" | icontacts --all). Жаль там гуй нельзя деинсталлировать.
Миру мир
Andrey Strelnikov
Уже с Приветом
Posts: 607
Joined: 17 Dec 2009 11:27

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Andrey Strelnikov »

apex wrote: 11 Oct 2021 02:48 Помню рассказ был, как больного человека замораживают, чтобы разморозить когда научатся лечить его болезнь.
А результате размораживают его через 8 тысяч лет и говорят что лечить вашу болезнь мы не научились, но у вас в деле написано, что вы на коболе программировать умеете, а у нас Y10K надвигается.
anekdot.ru
Еще - Деннис Тейлор. Вселенная Боба. Консерваторы в Америке побеждают. В итоге доходят до религиозной диктатуры. Никого не размораживают, а сканируют личность и суют в центры управления кораблями в лучшем случае. Кого-то в экскаваторы.
Andrey Strelnikov
Уже с Приветом
Posts: 607
Joined: 17 Dec 2009 11:27

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Andrey Strelnikov »

M. Ridcully wrote: 11 Oct 2021 05:30
Мальчик-Одуванчик wrote: 29 Sep 2021 21:58
Andrey Strelnikov wrote: 29 Sep 2021 13:49 Ну что такого положительного может дать хаскель ?
Хаскель мне в плюсах помогает писать код, который легче распараллеливать.
+много
И - в моем случае - дело даже не в распараллеливании. Скорее - опыты с Хаскелем делают мой код на С++ лучше.
Более конкретно - в меру сил стараюсь искоренять implicit state. Если нужен state - сделай это явно, твою мать! К сожалению, в индустрии очень много травмированных ООП, а это стиль способствует бурному росту этого сорняка (я про state).
Ну тогда пишите часть кода на хаскеле. Он транслируется в С--.
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

adb wrote: 11 Oct 2021 08:59
zVlad wrote: 30 Sep 2021 19:37 Несоразмерное, необоснованное использование GUI, наблюдаемое повсеместно а ИТ, дает огромный негативный эффект еа пользователей. Сюда также следует добавить зуд постоянного изменения интерфэйсов, их переписывание снова и снова.
Так и есть. На том же IPhone, планшете гораздо проще и понятнее через консоль все делать (iphone | igrep "zVlad" | icontacts --all). Жаль там гуй нельзя деинсталлировать.
Сколькo раз касался вопрос GUI vs. command line всякий раз, если приводился пример при этом, то это был grep.
Вообще то я не про command line говорю, а про то что многие программы написанные для пользователей, которые иначе чем кликать и тайпать больше ничего делать не могут и не умеют, решение по очень многим вещам выносят на пользователя, предоставляы им, через GUI, решать так или иначе. Не всегда до этого легко докапаться в дебрях GUI-ев. Поэтому горячие линии, консультанты.
Да что там конечные пользователи. Тот же Windows со своим GUI управлением ставит в тупик IT-шников по образованию. Сколько в интернете статей с разяснениями заморочек настройки и управления Windows.
Но есть примеры и обратных проблем. Я писал выше про Oracle GoldenGate. Это командная строка и параметры в файлах. Но их столько и они так замысловато запрограммированны что без постоянных консультаций с Oracle трудно двигаться вперед.
Тем не менее идеалом GUI для меня на данный момент является IBM IhfoSphere Data Replication. Идеалом потому что в GUI IDR выведено только самое действительно необходимое и понятное пользователю - администратору в данном случае. Много вещей, которые в GoldenGate закопаны в параметрах и особенностях их использования, в IDR делаются по умолчанию и так как надо.
voyager3
Уже с Приветом
Posts: 1951
Joined: 11 Mar 2015 01:12

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by voyager3 »

Andrey Strelnikov wrote: 29 Sep 2021 13:49 Ели какой-то кадр, накурившись этого замечетельного языка, будет целый день запихивать функцию в одну строку - то его надо бить тапком.
Это он мало выкурил. Настоящий хаскелист перепишет программу на плюсах таким образом, чтобы сначала компилировалась программа на плюсовых шаблонах, выходом которой будет код, реализующий 80% функциональности исполняемого кода.
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by M. Ridcully »

Andrey Strelnikov wrote: 11 Oct 2021 09:43 Ну тогда пишите часть кода на хаскеле. Он транслируется в С--.
Зачем такой зоопарк? Хотя, в каких-то проектах, может, и оправдано.
А вообще современный C++ вполне себе ничего, и с каждым годом хорошеет. Последние годы - явный ренессанс.
Мир Украине. Свободу России.
Andrey Strelnikov
Уже с Приветом
Posts: 607
Joined: 17 Dec 2009 11:27

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Andrey Strelnikov »

M. Ridcully wrote: 11 Oct 2021 20:23
Andrey Strelnikov wrote: 11 Oct 2021 09:43 Ну тогда пишите часть кода на хаскеле. Он транслируется в С--.
Зачем такой зоопарк? Хотя, в каких-то проектах, может, и оправдано.
А вообще современный C++ вполне себе ничего, и с каждым годом хорошеет. Последние годы - явный ренессанс.
Есть одна контора в Питере - Ланит-Терком. Создана из математиков и тп. Ну и начали сами делать из лиспов с хаскелями язык в 90х. До сих пор пишут на нем.
Ну нафиг надо нормальному человеку туда идти? Потом-то куда?
Даже сам хаскель никому не нужен.
User avatar
adb
Уже с Приветом
Posts: 9258
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by adb »

zVlad wrote: 11 Oct 2021 16:04Да что там конечные пользователи. Тот же Windows со своим GUI управлением ставит в тупик IT-шников по образованию. Сколько в интернете статей с разяснениями заморочек настройки и управления Windows.
Но есть примеры и обратных проблем. Я писал выше про Oracle GoldenGate. Это командная строка и параметры в файлах. Но их столько и они так замысловато запрограммированны что без постоянных консультаций с Oracle трудно двигаться вперед.
Тем не менее идеалом GUI для меня на данный момент является IBM IhfoSphere Data Replication.
В винде постоянно что-то меняют. В этом проблема. Были настройки в одном месте, потом в другом. И т.п.. Ну и новый функционал появляется. Те же апдейты, которые хочется отключить. Office вообще теперь нереально использовать.
Если на то пошло, то банальный iphone или android круче. Столько людей вообще без IT знаний пользуется. 5-6-ние дети с полпинка. У знакомого ребенок читать не умеет, а уже мультики ищет и смотрит на планшете.
Миру мир
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

А что там нереально в Office пользовать? Я вот очень обрадовался что теперь O365 можно с чего угодно пользовать, что апп, что web. Удобно.
Not everyone believes what I believe but my beliefs do not require them to.
Palych
Уже с Приветом
Posts: 13669
Joined: 16 Jan 2001 10:01

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Palych »

Мне видится проблема гуев для административных задач не в том насколько гуи продуманы.
Текстовые файлы, будь то скрипты или конфигурационные файлы, обладают важными свойствами, которые практически не достижимы для гуев:
- их можно скопировать не вникая в смысле содержимого;
- их можно сравнить.
Когда вместо команд с легионом параметров делают хороший гуй, который ведёт пользователя, ограждает его от ошибок - это хорошо. Засада в том, что результаты работы пользователя практически невозможно осмысленно и безопасно сохранить, перенести.
С текстами такая проблема тоже существует. Но там она решаема в принципе.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Мальчик-Одуванчик »

Andrey Strelnikov wrote: 11 Oct 2021 21:13 Даже сам хаскель никому не нужен.
Паскаль тоже не особо был востребован бизнесом, но как язык для обучения оказался весьма полезен.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Мальчик-Одуванчик »

Andrey Strelnikov wrote: 29 Sep 2021 13:49 Если какой-то кадр, накурившись этого замечетельного языка, будет целый день запихивать функцию в одну строку - то его надо бить тапком. Потому что если не углядите, то потом прийдется вам неделю курить эту строку.
В плюсах вполне нормальная практика воткнуть лямбду в качестве параметра алгоритма.
Last edited by Мальчик-Одуванчик on 12 Oct 2021 09:38, edited 1 time in total.
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by iDesperado »

Palych wrote: 12 Oct 2021 04:53 Мне видится проблема гуев для административных задач не в том насколько гуи продуманы.
Текстовые файлы, будь то скрипты или конфигурационные файлы, обладают важными свойствами, которые практически не достижимы для гуев:
- их можно скопировать не вникая в смысле содержимого;
- их можно сравнить.
Когда вместо команд с легионом параметров делают хороший гуй, который ведёт пользователя, ограждает его от ошибок - это хорошо. Засада в том, что результаты работы пользователя практически невозможно осмысленно и безопасно сохранить, перенести.
С текстами такая проблема тоже существует. Но там она решаема в принципе.
какой-то пост из 80х, а что где-то еще осталось противостояния гуя и конфигов? везде же и то и то доступно. понятно, что когда ты делаешь в 30й раз то же самое конфиг удобней, когда в первый раз - удобней гуй. в любом облаке ты в гуе можешь натыкать и сохранить конфиг в json-чик.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Мальчик-Одуванчик »

iDesperado wrote: 12 Oct 2021 07:10 какой-то пост из 80х, а что где-то еще осталось противостояния гуя и конфигов? везде же и то и то доступно. понятно, что когда ты делаешь в 30й раз то же самое конфиг удобней, когда в первый раз - удобней гуй. в любом облаке ты в гуе можешь натыкать и сохранить конфиг в json-чик.
А если определение параметров не документировано, то ими одинаково стрёмно пользоваться что в гуях, что в текстовом виде.
Andrey Strelnikov
Уже с Приветом
Posts: 607
Joined: 17 Dec 2009 11:27

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Andrey Strelnikov »

Мальчик-Одуванчик wrote: 12 Oct 2021 06:04
Andrey Strelnikov wrote: 29 Sep 2021 13:49 Если какой-то кадр, накурившись этого замечетельного языка, будет целый день запихивать функцию в одну строку - то его надо бить тапком. Потому что если не углядите, то потом прийдется вам неделю курить эту строку.
В плюсах вполне нормальная практика воткнуть лямбду в качестве параметра алгоритма.
Это нормальная практика на шарпе уже второй десяток лет. Пару лет назад в джаву завезли :) А то они аж Скалу стали таращить из себя.

Это была реплика про то, что простые действия на хаскеле требуют долго-долго пыжить что-то мудренное. Потом кто-то будет распыживать. Старое правило про n минут на понимание кода и перепиcывание его после n минут никто не отменял.

Return to “Вопросы и новости IT”