Джентельменский набор ЯП
От: Разраб  
Дата: 20.12.23 04:48
Оценка:
C#
F# (поставил бы на первое место, но большинство технологий заточены по шарпы, поэтому приходится мирится
zig (только начал изучать для лучшего понимания в целом)
а вот насчет динамических не определился
scheme или common lisp? (основной вопрос)
Ибо Десятое правило Гринспана гласит:

Любая достаточно сложная программа на C или Fortran содержит специальную, неформально заданную, полную ошибок и медленную реализацию половины Common Lisp.


(а может быть python или js или кложура :???

дополнительный вопрос: ваш Джентельменский набор, прошу делится.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Джентельменский набор ЯП
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.12.23 07:10
Оценка: +1
Здравствуйте, Разраб, Вы писали:

Р>C#

Р>F# (поставил бы на первое место, но большинство технологий заточены по шарпы, поэтому приходится мирится
Р>zig (только начал изучать для лучшего понимания в целом)

Один нишевой язык и два экзотических. Странный выбор, не?

Р>а вот насчет динамических не определился

Р>scheme или common lisp? (основной вопрос)

Кто из них на практике более распостранен? По-моему, схема. Выбор очевиден, не?

Р>Ибо Десятое правило Гринспана гласит:


Р>Любая достаточно сложная программа на C или Fortran содержит специальную, неформально заданную, полную ошибок и медленную реализацию половины Common Lisp.


Красивая фраза, совершенно не обязательно верная на практике.

Р>(а может быть python или js или кложура :???


А смысл?

Р>дополнительный вопрос: ваш Джентельменский набор, прошу делится.


Си и Go.
Re[2]: Джентельменский набор ЯП
От: Разраб  
Дата: 20.12.23 07:18
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Один нишевой язык и два экзотических. Странный выбор, не?

C# в РФ популярен. F# сильно нахваливали как фп евангелисты, к тому же знакомый фрэймворк, тулинг.

Pzz>Кто из них на практике более распостранен? По-моему, схема. Выбор очевиден, не?

выбирая схему не лишаемся ли мы чего то важного из мира cl?

Р>>(а может быть python или js или кложура :???


Pzz>А смысл?


питонячий код выглядит простым и понятным и это видимо и выстрелило, плюс гиганское кол-во библиотек(интересно у кого больше другие такие — джава жс и плюсы(вроде), но последние слишком больно использовать)


Pzz>Си и Go.

Сишка норм, а вот гоу синтаксически не понравился. zig в данном случае некий баланс простоты и строгости.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Джентельменский набор ЯП
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.12.23 07:34
Оценка: +3
Здравствуйте, Разраб, Вы писали:

Р>питонячий код выглядит простым и понятным и это видимо и выстрелило, плюс гиганское кол-во библиотек(интересно у кого больше другие такие — джава жс и плюсы(вроде), но последние слишком больно использовать)


У меня очень холодное отношение к языкам с динамической типизацией. Они заставляют меня делать головой то, что компилятор мог бы сделать автоматически за меня.

И к петону у меня отдельная претензия: использование того, что не задумывалось быть значащим (пробелов, отступов) для формирования управляющей структуры.

Pzz>>Си и Go.

Р>Сишка норм, а вот гоу синтаксически не понравился. zig в данном случае некий баланс простоты и строгости.

А чем тебе Go, синтаксически, не Си?
Re[4]: Джентельменский набор ЯП
От: Разраб  
Дата: 20.12.23 07:53
Оценка:
Здравствуйте, Pzz, Вы писали:


Pzz>А чем тебе Go, синтаксически, не Си?

package greetings // <= по мелочи: тутор называется create module по факту - пакет :)

import "fmt"

// Hello returns a greeting for the named person.
func Hello(name string) string { // <= лучше всего воспринимаю, уж не знаю почему : func Hell(expr : type) : type { expr }
    // Return a greeting that embeds the name in a message.
    message := fmt.Sprintf("Hi, %v. Welcome!", name)
    return message // <= не нужный return 
}


тут вообще сложно получилось:
func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Джентельменский набор ЯП
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 20.12.23 17:12
Оценка: -2 :)))
Здравствуйте, Разраб, Вы писали:

Р>дополнительный вопрос: ваш Джентельменский набор, прошу делится.


Все мощные коммерческие и некоммерческие разработки ведутся на Си и C++. Си это язык на котором создают операционки, драйвера и некоторые важные программы, вроде тех же веб-серверов, баз данных. А C++ часто используется для коробочных продуктов такие как компьютерные игры, системы проектирования.

Я в связи с этим даже стал подумывать, а стоит ли потакать любителям нетрадиционной ориентации. Взять тоже образование, зачем давать людям старенький Pascal пусть даже свободной реализации, или наоборот, какие-нибудь Java, C# и прочие.

Вроде с одной стороны толерастия, а с другой стороны я вижу, что люди теряют зря время. И не только программисты наёмники, им то какая разница пока платят деньги. Но главным образом заказчики вкладывают ресурсы в абсолютно бесперспективные языки программирования.

Нет, с одной стороны это конечно хорошо. Меньше народу, больше кислороду. Зачем нормальным людям все эти конкуренты. Когда программируешь не на Си или C++ любой шаг в сторону это расстрел на месте. Я имею в виду, что иную кодовую базу сложно переносить на другие платформы.

И более того, чем больше языков программирования, тем больше алгоритмы размазаны между ними. А зачем вот это всё, чтобы что. Вообще пока другие срутся на тему какой язык программирования лучше, я прихожу к выводу, что недостаток в текстовых редакторах.

Они недостаточно продвинуты и реализуют лишь базовые функции, а не особые хотелки, которые рано или поздно возникают у программистов. Потому даже спорить не будут про "джентельменский" набор языков программирования. Надо делать нормальный текстовый редактор, а не заниматься созданием новых языков программирования.

Но если бы я давал совет не наёмным программистам, которые автоматизируют бизнес, но сами по себе без этого бизнеса не нужны, а именно бизнесменам, то я бы рекомендовал использовать Си или C++. Зачем бизнесу делать что-то кроме коробочного продукта, даже если с их точки зрения он заказной.

Потому что если бизнес решил, что им нужны программсты на Си или C++, то и программисты никуда не денутся. А если бизнес решил, что им срочно нужен брейнфак, зарплата полмилиона деревянных в месяц, то они и такой трешак найдут. Как там говорилось в мэме, из буханки хлеба можно сделать троллейбус, но зачем.

Re: Джентельменский набор ЯП
От: Sharov Россия  
Дата: 20.12.23 17:24
Оценка: 3 (1) +2
Здравствуйте, Разраб, Вы писали:

Р>C#

Р>F# (поставил бы на первое место, но большинство технологий заточены по шарпы, поэтому приходится мирится
Р>zig (только начал изучать для лучшего понимания в целом)
Р>а вот насчет динамических не определился
Р>scheme или common lisp? (основной вопрос)
Р>Ибо Десятое правило Гринспана гласит:
Р>Любая достаточно сложная программа на C или Fortran содержит специальную, неформально заданную, полную ошибок и медленную реализацию половины Common Lisp.
Р>(а может быть python или js или кложура :???
Р>дополнительный вопрос: ваш Джентельменский набор, прошу делится.

Питон как динмаический язык я бы выбрал обязательно, а потом выбирал бы между плюсами и Го. Можно еще Erlang цыпануть.
Т.е. C#+С++/Го, питон, F#/Erlang. Кстати, про jvm не стоит забывать и может имеет смысл изучить Kotlin.
Кажется, что со связкой C#/С++/питон/Kotlin без работы не останешься и все платформы охвачены.
Кодом людям нужно помогать!
Re[4]: Джентельменский набор ЯП
От: GarryIV  
Дата: 20.12.23 19:23
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>И к петону у меня отдельная претензия: использование того, что не задумывалось быть значащим (пробелов, отступов) для формирования управляющей структуры.

отступы так и так вобщем то есть везде, мало когда проблема
утиные __имя__ бесят на практике гораздо больше
WBR, Igor Evgrafov
Re: Джентельменский набор ЯП
От: novitk США  
Дата: 20.12.23 20:34
Оценка: 3 (1)
Здравствуйте, Разраб, Вы писали:

Р>а вот насчет динамических не определился

В Julia есть сразу и все:
а) Быстрее чем все c#,zig да и плюсы, если с ними не потрахаться изрядно
б) динамика лучше Питон (multi-dispatch)
в) нормальные макросы без дурацких скобочек
г) детские проблемы уже решены
д) есть нефиговый шанс, что оно станет таки майстримом в научных вычислениях.
Re: Джентельменский набор ЯП
От: cppguard  
Дата: 20.12.23 22:33
Оценка: 99 (5) +1
Здравствуйте, Разраб, Вы писали:

Р>Любая достаточно сложная программа на C или Fortran содержит специальную, неформально заданную, полную ошибок и медленную реализацию половины Common Lisp.


Приходилось работать бок о бок с неформалами, которые предпочитали Clojure, Scala, Lisp, Scheme, Erlang и прочую эзотерику. Все как на подбор были молоды, одиноки и им, по большому счёту, было плевать на успех проекта, эффективность и прочие метрики "старых пердунов", они типа были хипсторнутые творцы. Я так ни разу и не увидел хотя бы одной причины использовать один из этих языков, а не какой-то из мейнстрима. Был даже забавный момент, когда я попал в стартап, в котором серверная часть была на Clojure, потом этот стартап купила большая компания и попыталась создать какую-то инфраструктуру для языка, а спустя полгода всем сказали "короч, за*бали, переписывайте на Java". Из всего множества могу положительно выделить лишь Haskell, который действительно на порядок повышает качество кода и стойкость к ошибкам вида off-by-1. Но есть проблема — не все могут или хотят на нём писать, в отличие от С++, на котором и сутулая собака может что-то набросать, а на code review это приведут в порядок. И ещё проблема производительности (возможности оценить сложность реализации алгоритма).
Re[2]: Джентельменский набор ЯП
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 21.12.23 07:58
Оценка: :)
Здравствуйте, Sharov, Вы писали:

S>Кажется, что со связкой C#/С++/питон/Kotlin без работы не останешься и все платформы охвачены.


Если хочешь охватить все платформы от десктопов до смартфонов, берёшь C++ и Qt 5 или выше. Потом просто компилируешь одну программу для десктопов и смартфонов. А в чём смысл остальных языков программирования я не знаю. Наверное чтобы без работы не остаться.

Впариваешь заказчику, типа мы сейчас тебе тут на C#.NET наштампуем формочки для винды, подключим их к базе данных. А потом ещё для андроида что-нибудь сделаем на Kotlin. Ещё можно что-нибудь на Python наваять, вызовы из программ и библиотек C++ подёргать.

И всё это под соусом, что все платформы охвачены. Взять C++ чтобы охватить все платформы одной программой религия не позволяет. Это видимо слишком просто и несовременно для любителей экзотики.
Re[3]: Джентельменский набор ЯП
От: Разраб  
Дата: 21.12.23 10:57
Оценка:
Здравствуйте, velkin, Вы писали:

V>Здравствуйте, Sharov, Вы писали:


S>>Кажется, что со связкой C#/С++/питон/Kotlin без работы не останешься и все платформы охвачены.


V>Если хочешь охватить все платформы от десктопов до смартфонов, берёшь C++ и Qt 5 или выше. Потом просто компилируешь одну программу для десктопов и смартфонов. А в чём смысл остальных языков программирования я не знаю. Наверное чтобы без работы не остаться.


V>Впариваешь заказчику, типа мы сейчас тебе тут на C#.NET наштампуем формочки для винды, подключим их к базе данных. А потом ещё для андроида что-нибудь сделаем на Kotlin. Ещё можно что-нибудь на Python наваять, вызовы из программ и библиотек C++ подёргать.


V>И всё это под соусом, что все платформы охвачены. Взять C++ чтобы охватить все платформы одной программой религия не позволяет. Это видимо слишком просто и несовременно для любителей экзотики.


Реально ли самостоятельно освоить плюсы? если да то сколько примерно чтобы научится делать программы уровня телефонный справочник не заглядывая в учебник?
я просто пока склоняюсь больше к зигу
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Джентельменский набор ЯП
От: LaptevVV Россия  
Дата: 21.12.23 11:16
Оценка:
С++ и Go
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Джентельменский набор ЯП
От: Dair Россия https://dair.spb.ru
Дата: 21.12.23 11:16
Оценка: +1
Здравствуйте, Разраб, Вы писали:

Р>дополнительный вопрос: ваш Джентельменский набор, прошу делится.


С++, Python, bash
Re: Джентельменский набор ЯП
От: klopodav  
Дата: 21.12.23 11:23
Оценка: +1
Р>дополнительный вопрос: ваш Джентельменский набор, прошу делится.

У меня скорее не джентльменский набор, а спектр.
Есть несколько (штук 7, если не считать языки хранимых процедур) языков программирования, на которых я в реальных проектах что-то писал. Но степень погружения в эти языки очень разная: от довольно детальной до очень поверхностной, минимально необходимой под конкретную задачу.
Re[2]: Джентельменский набор ЯП
От: Разраб  
Дата: 21.12.23 11:25
Оценка:
Здравствуйте, novitk, Вы писали:


N>В Julia есть сразу и все:

N>а) Быстрее чем все c#,zig да и плюсы, если с ними не потрахаться изрядно
тут опровергают ваше утверждение https://discourse.julialang.org/t/julia-vs-zig-surprise/74540
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Джентельменский набор ЯП
От: Разраб  
Дата: 21.12.23 11:27
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>С++ и Go


сколько лет на плюсах до рабочего состояния потрачено?
я после универа купил карманный справочник
посмотрел на все эти cout << endl и & * -> и чет задвинул ))
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Джентельменский набор ЯП
От: LaptevVV Россия  
Дата: 21.12.23 11:43
Оценка:
LVV>>С++ и Go
Р>сколько лет на плюсах до рабочего состояния потрачено?
Хрен его знает. Но я на борландовских плюсах писал еще в СССР.
Р>я после универа купил карманный справочник
Р>посмотрел на все эти cout << endl и & * -> и чет задвинул ))
Когда я купил (не помню, в СССР или сразу после) самую первую книжку Страуструпа (которая теперь 4 издание), и пытался ее прочесть — я не понял вообще ничего.
При том, что у меня тогда уже был 15-летний опыт программирования от зарплаты до операционной системы, от восьмеричных кодов до ПЛ-1.
Я ее закрыл...
Но потом мне попалась следующая книжка, Страуструп+Эллис, которая описывала достандартный С++.
Эту я уже читал, кое-что понимая...
В начале 2000 для учебных целей написал книжку
Потом писал опять же для учебных целей интерпретатор виртуальной машины (архитектуру придумал), ассемблер для нее же,
отладчик консольный, библиотекарь, конвертер нашего учебного языка Slang в С++.
Ну, и научные проги уже за деньги приходилось писать.
Моделирование перколяционных процессов методом монте-карло. Главная задача — скорость.
Пришлось учитывать даже сменяемость кэша процессора.
В общем, в одно рыло наваять пару-тройку десятков тысяч операторов — не проблема.
Проблема сделать непрерывную интеграцию и регрессионное тестирование...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Джентельменский набор ЯП
От: novitk США  
Дата: 21.12.23 13:04
Оценка:
Здравствуйте, Разраб, Вы писали:

N>>В Julia есть сразу и все:

N>>а) Быстрее чем все c#,zig да и плюсы, если с ними не потрахаться изрядно
Р>тут опровергают ваше утверждение https://discourse.julialang.org/t/julia-vs-zig-surprise/74540

Tам вроде разобрано:

Thus, the Julia benchmarks include code compilation.

но в принципе ты прав. Я был не в курсе, что zig использует llvm — скорость должна быть ~=.
Re: Джентельменский набор ЯП
От: scf  
Дата: 21.12.23 14:05
Оценка: 9 (2)
Здравствуйте, Разраб, Вы писали:

Java — сервер
JavaScript/TypeScript — клиент
Python — одноразовые скрипты, автоматизация

Эта тройка покрывает практически все задачи, кроме экзотики типа драйверов, embedded или движков игр.

Для себя пописываю на Scala, но рекоменовать не могу, т.к. для получения существенного профита от Scala нужно иметь многолетний опыт программирования на Scala.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.