Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 23.08.19 04:38
Оценка: 1 (1) +1
В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.

А некоторое время назад на работе решили писать тесты на C#. Начал изучать и также получил огромное удовольствие. Было очень приятно увидеть, как красиво обыграли многие неудачные моменты C++. (Правда, от этой идеи быстро отказались, и так я его и не изучил).

Хочу повторить эти ощущения и заодно выучить что-то полезное. Основной язык сейчас C++, также иногда использую Python, JavaScript, LUA. Чтобы такого изучить? Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.

Основные кандидаты сейчас это F# и Rust. F# — потому что название напоминает Forth Ну и это функциональный язык, т.е. несколько другая концепция чем у С++ — как в свое время другая концепция была у Forth. Опять же функции мне кажется должны чем-то напоминать слова у Forth.

Rust — потому что он позиционируется как замена С++. То есть я рассчитываю на тот же эффект, что был при изучении C#. Ну и жалко свой многолетний опыт по С++, а в Rust он вроде бы пригодится. И еще мне кажется, что Rust можно выучить. Про С++ я к сожалению понял, что он уже не умещается в моей голове. Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море. А я люблю понимать, что знаю язык от и до, но это не про плюсы

Что скажете?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re: Какой бы язык изучить?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 23.08.19 04:40
Оценка: :)
B>Что скажете?
Китайский. Сам не выучишь, так хоть дети смогут лучше ориентироваться.

А так тебе поздно трепыхаться. Если не можешь доучить C++, то и другие технологии уже не осилишь. Это старость.
Re[2]: Какой бы язык изучить?
От: LuciferNovoros Россия  
Дата: 23.08.19 04:58
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>А так тебе поздно трепыхаться. Если не можешь доучить C++, то и другие технологии уже не осилишь. Это старость.


Не, ну почему же? Мне вот на старости лет пришлось C# изучать и, прости господи, PHP. Не то, чтоб я в восторге, но по работе надо и никуда не деться от этого.
Re: Какой бы язык изучить?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 23.08.19 05:14
Оценка: 2 (1) +5
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.


B>Хочу повторить эти ощущения и заодно выучить что-то полезное. Основной язык сейчас C++, также иногда использую Python, JavaScript, LUA. Чтобы такого изучить? Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.


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

B>Основные кандидаты сейчас это F# и Rust. F# — потому что название напоминает Forth Ну и это функциональный язык, т.е. несколько другая концепция чем у С++ — как в свое время другая концепция была у Forth. Опять же функции мне кажется должны чем-то напоминать слова у Forth.


Если же язык хочется ради языка, то стоит взять что-то совсем уж необычное, позволяющее расширить твое мировоззрение. По мне так при твоем наборе языков, лучше всего будет что-то функциональное. Clojure/Scala – если хочется залезть в нишу JVM, F# – если хочется к .NET, Elixir/Erlang – если интересная разработка бэкенда ну и Haskell/OCaml – если хочется и дальше делать что-то для десктопа.

B>Rust — потому что он позиционируется как замена С++. То есть я рассчитываю на тот же эффект, что был при изучении C#. Ну и жалко свой многолетний опыт по С++, а в Rust он вроде бы пригодится. И еще мне кажется, что Rust можно выучить. Про С++ я к сожалению понял, что он уже не умещается в моей голове. Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море. А я люблю понимать, что знаю язык от и до, но это не про плюсы


Rust не позицируется как замена C++, максимум замена C. Кроме того, если C++ в голове не помещается, то Rust и подавно не влезет, там своих заморочек вагон и они не менее заковыристые. Возьми что-то попроще, тот же Go, я его вообще всем последнее время советую
Re: Какой бы язык изучить?
От: jahr  
Дата: 23.08.19 06:22
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

По Go и Rust довольно много вакансий на удаленке от буржуев (джаву и скалу не рассматриваю, мне кажется плюсовику их учить неприятно будет). Го популярнее и проще, чем раст, так что, если выбирать один язык, то это он.
Re: Какой бы язык изучить?
От: Maniacal Россия  
Дата: 23.08.19 07:33
Оценка: +1 :))) :))
Здравствуйте, Basil2, Вы писали:

B>Хочу повторить эти ощущения и заодно выучить что-то полезное. Основной язык сейчас C++, также иногда использую Python, JavaScript, LUA. Чтобы такого изучить? Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.


B>Что скажете?


Я огромное удовольствие получил от изучения языка Java. Очень изящный язык и решения на нём. Правда, думаю, после выхода клона Java — C# не сильно много нового можно будет узнать.
Re[2]: Какой бы язык изучить?
От: BlackEric http://black-eric.lj.ru
Дата: 23.08.19 07:49
Оценка:
Здравствуйте, jahr, Вы писали:

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


J>По Go и Rust довольно много вакансий на удаленке от буржуев (джаву и скалу не рассматриваю, мне кажется плюсовику их учить неприятно будет). Го популярнее и проще, чем раст, так что, если выбирать один язык, то это он.


Согласен, Go все более востребован
https://github.com/BlackEric001
Re: Какой бы язык изучить?
От: Sheridan Россия  
Дата: 23.08.19 08:08
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Что скажете?

Учи все.
Точнее не так... Не отказывайся чтото писать только потому что не знаешь языка.
Matrix has you...
Re: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 23.08.19 08:50
Оценка: 2 (2)
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.


Аналогично. Только книжку купил не случайно, а под влиянием опыта программирования стековых калькуляторов — очень нравилось жонглировать значениями на стеке.

B>Хочу повторить эти ощущения


Мне это удалось с Go. Минималистичный, лаконичный, выразительный, мощный. И избавлен от детских болезней C и C++, что особенно восхитило. Очарованный Go, я бросил довольно прибыльную удалёнку на C++ и устроился на вдвое меньшие деньги в офисе)), но нисколько не жалею.
Re[2]: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 23.08.19 08:53
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Надо с предметной областью разбираться и из неё уже брать язык.


Часто вижу этот совет, но он не универсален. Бывает, что увлекаешься каким-то языком и меняешь предметную область. Понятно, что теряешь в уровне профессионализма и в конечном итоге в доходах, но это тоже жизнеспособная стратегия.
Re: Какой бы язык изучить?
От: student__  
Дата: 23.08.19 08:56
Оценка: -9
Здравствуйте, Basil2, Вы писали:

B>F#

Это какой-то очередной маргинальный язычок для .NET? Кому он вообще нужен?
Re: Какой бы язык изучить?
От: bexab  
Дата: 23.08.19 12:03
Оценка:
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.

B>Хочу повторить эти ощущения и заодно выучить что-то полезное.

Дождаться pattern-matching в Go — и можно пробывать
Re: Какой бы язык изучить?
От: zverjuga Беларусь  
Дата: 23.08.19 12:03
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>Основные кандидаты сейчас это F# и Rust.


B>Что скажете?


еще Swift и Kotlin
проклятый антисутенерский закон
Re: Какой бы язык изучить?
От: vsb Казахстан  
Дата: 23.08.19 12:08
Оценка:
Я получил большое удовольствие от изучения Rust. Планирую продолжить, порешать всякие алгоритмические задачки на нём. Очень необычный язык. Кстати считаю, что мой скилл в С++ тоже вырос от освоения модели ownership в Rust. Оно как-то подсознательно понималось, конечно, но когда увидел как оно работает формализованно, это мне помогло.
Правда на практике ни Rust ни C++ не применяю и вряд ли применю, я на Java пишу. Вряд ли человек с таким бэкграундом даже удалённую работу сможет найти, поэтому рассматриваю это всё исключительно для удовольствия и разминки мозгов.
Re[2]: Какой бы язык изучить?
От: vsb Казахстан  
Дата: 23.08.19 12:10
Оценка: 1 (1) +1
Здравствуйте, Maniacal, Вы писали:

M>Я огромное удовольствие получил от изучения языка Java. Очень изящный язык и решения на нём. Правда, думаю, после выхода клона Java — C# не сильно много нового можно будет узнать.


Java красива до версии 1.5. После неё, имхо, покатилась под обрыв. Целостность потеряла. В практическом плане всё хорошо, но вот с точки зрения изящности не очень. Если для удовольствия надо писать, пишу на 1.4. Прям дистиллированное объектно-ориентированное программирование.
Отредактировано 23.08.2019 12:11 vsb . Предыдущая версия . Еще …
Отредактировано 23.08.2019 12:10 vsb . Предыдущая версия .
Re[2]: Какой бы язык изучить?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 23.08.19 12:56
Оценка: 1 (1) +1
Здравствуйте, Maniacal, Вы писали:


M>Я огромное удовольствие получил от изучения языка Java. Очень изящный язык и решения на нём. Правда, думаю, после выхода клона Java — C# не сильно много нового можно будет узнать.

C# очень мощный язык и развивается. Берет нужное из разных языков. Вот пример чего хотят в следующей версии https://www.c-sharpcorner.com/article/candidate-features-for-c-sharp-9/
Ну и учитывая кроссплатформенность и Xamarin.Forms там многое можно подчерпнуть
и солнце б утром не вставало, когда бы не было меня
Re: Какой бы язык изучить?
От: HrorH  
Дата: 23.08.19 13:01
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.


B>Что скажете?


В молодости случайно купил книжку по Haskell и получил огромное удовольствие от его изучения.
Re[3]: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 23.08.19 13:48
Оценка:
S>C# очень мощный язык и развивается. Берет нужное из разных языков.

Звучит устрашающе . В результате нечто переусложнённое и необъятное, угадал? (C# никогда не изучал и знаю про него только то, что он возник как клон Джавы)
Re[4]: Какой бы язык изучить?
От: zverjuga Беларусь  
Дата: 23.08.19 13:52
Оценка: -2
Здравствуйте, Kswapd, Вы писали:

S>>C# очень мощный язык и развивается. Берет нужное из разных языков.


K>Звучит устрашающе . В результате нечто переусложнённое и необъятное, угадал? (C# никогда не изучал и знаю про него только то, что он возник как клон Джавы)


мне после свифта сишарп кажется неуклюжим, громоздким и излишним.
проклятый антисутенерский закон
Re[4]: Какой бы язык изучить?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 23.08.19 14:05
Оценка: +1
Здравствуйте, Kswapd, Вы писали:

S>>C# очень мощный язык и развивается. Берет нужное из разных языков.


K>Звучит устрашающе . В результате нечто переусложнённое и необъятное, угадал? (C# никогда не изучал и знаю про него только то, что он возник как клон Джавы)

Как клон он вышел в 2003. С 2005 года с появлением линка и дженериков он начал очень быстро развиваться. Сейчас приходится программировать на Java под андроид и без слез писать невозможно.
Хотя мне нравятся @Override в конструкторе.
и солнце б утром не вставало, когда бы не было меня
Re[5]: Какой бы язык изучить?
От: Maniacal Россия  
Дата: 23.08.19 14:06
Оценка:
Здравствуйте, zverjuga, Вы писали:


Z>мне после свифта сишарп кажется неуклюжим, громоздким и излишним.


C# не юзал, но знаю, что прикладная библиотека .NET там могучая. Как некий полностью переосмысленный MFC. Теперь это выглядит не как ОО-надстройка над WinAPI, а полностью осмысленная полезная функциональность, с дружественным для разработчика интерфейсом.
.NET, правда, можно и из C++ юзать, хоть и через одно место.
Re[2]: Какой бы язык изучить?
От: DenisCh Россия  
Дата: 23.08.19 17:47
Оценка:
Здравствуйте, HrorH, Вы писали:

HH> B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.

HH> B>Что скажете?
HH> В молодости случайно купил книжку по Haskell и получил огромное удовольствие от его изучения.

А вот я покупал в юности более другие книги для получения удовльствия ... )))
[url=https://github.com/abbat/avalon1.0.449[/url]
Re: Какой бы язык изучить?
От: Kolesiki  
Дата: 23.08.19 18:14
Оценка: :))) :)
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения.


эээ... вы понимаете, что языкодрочерство — это ламерский путь? Изучи хоть 50 языков, в голове особо много не прибавится. Профессионализм разработчика — далеко не язык, а ПЛАТФОРМА, которую он умеет юзать на 100%.

B>Основные кандидаты сейчас это F# и Rust. F# — потому что название напоминает Forth Ну и это функциональный язык


Другими словами, "язык, ортогональный человеческому мышлению и потому всё ещё сосущий на обочине мэйнстрима".

B>Rust — потому что он позиционируется как замена С++


Чушь. Никогда им не был и не будет. Rust — это просто поделие, от него индустрии ни тепло, ни холодно и он НИКОГДА не будет сколь угодно значимым.

B>Что скажете?


На моём веку из практических языков впечатлил и вдохновил только Nemerle. Я знаю проблемы Немерли, но вот спроси меня, "не будь C#, тогда что?" — однозначно Немерля. Великолепный язык, который как жемчужина, упавшая в дерьмо обыденности — лежит, отсвечивает и ждёт своего коммерческого носителя. Наимощнейший язык в .NET, незаслуженно игнорируемый быдломассой. Будь хотя бы у 50% разработчиков мозги, этот язык взлетел бы в считанные месяцы.
Вот. Я сказал.
Re[2]: Какой бы язык изучить?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.08.19 18:52
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

KP>Я буду банален, но учить язык толку вообще ноль, особенно если целью выступает расширение возможностей поиска работы. Надо с предметной областью разбираться и из неё уже брать язык.


Категорически не согласен. Примерно половину языков я изучил для хобби, а не для профессионального использования. На работе жизнь не заканчивается.
[КУ] оккупировала армия.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.08.19 11:14
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Rust не позицируется как замена C++, максимум замена C.


Я бы сказал что Rust это как будто из С снова делают С++, только с учетом опыта делания С++.

KP>Кроме того, если C++ в голове не помещается, то Rust и подавно не влезет, там своих заморочек вагон и они не менее заковыристые. Возьми что-то попроще, тот же Go, я его вообще всем последнее время советую


Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++. В Расте все же виден некий стержень, вокруг которого все делается.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.08.19 11:18
Оценка:
Здравствуйте, Kswapd, Вы писали:

K>Мне это удалось с Go. Минималистичный, лаконичный, выразительный, мощный. И избавлен от детских болезней C и C++, что особенно восхитило. Очарованный Go, я бросил довольно прибыльную удалёнку на C++ и устроился на вдвое меньшие деньги в офисе)), но нисколько не жалею.


Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++. В Расте все же виден некий стержень, вокруг которого все делается.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.08.19 11:20
Оценка:
Здравствуйте, bexab, Вы писали:

B>Дождаться pattern-matching в Go — и можно пробывать


Именно его отсутствие меня в Go и смутило. Столько разговоров что крутой выразительный язык, а как ткнулся в switch — так обычные плюсы, ничего особенного...
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.08.19 11:21
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>еще Swift и Kotlin


Разумно. Но это мобильная разработка, а мне она очень не понравилась.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Какой бы язык изучить?
От: rudzuk  
Дата: 24.08.19 14:31
Оценка:
Здравствуйте, Basil2, Вы писали:

B> Разумно. Но это мобильная разработка, а мне она очень не понравилась.


Чем именно, если не секрет?
avalon/2.0.6
Re[2]: Какой бы язык изучить?
От: Mamut Швеция http://dmitriid.com
Дата: 24.08.19 18:20
Оценка: +1
K>Наимощнейший язык в .NET, незаслуженно игнорируемый быдломассой.

Незаслуженно цбитый собственными же разработчиками.

K>Будь хотя бы у 50% разработчиков мозги, этот язык взлетел бы в считанные месяцы.


Ахахаха. Что верно, то верно.


dmitriid.comGitHubLinkedIn
Re[4]: Какой бы язык изучить?
От: Mamut Швеция http://dmitriid.com
Дата: 24.08.19 18:26
Оценка: +5
S>>C# очень мощный язык и развивается. Берет нужное из разных языков.

K>Звучит устрашающе . В результате нечто переусложнённое и необъятное, угадал? (C# никогда не изучал и знаю про него только то, что он возник как клон Джавы)


C# на удивление практичен и прагматичен. Там есть, конечно, наследие со времен «мы как Java, только получше», но они явно стараются сделать язык приятным для использования в рамках изначальных ограничений.


dmitriid.comGitHubLinkedIn
Re[3]: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 24.08.19 19:08
Оценка:
B>Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++.

Ну как же. Go — отрицание C++ . C++ пропитан магией (один принцип SFINAE чего стоит) — в Go всё (ну, почти всё)) явно и без сюрпризов. В C++ ручное управление памятью — в Go сборщик мусора. В C++ наследование — в Go композиция. В C++ исключения — в Go принцип "ошибка есть значение".

А что имеется в виду под паттерн-матчингом? Как в Хаскеле, множественное определение функции? Go откровенно императивный язык, ему такое не идёт.
Re: Какой бы язык изучить?
От: Буравчик Россия  
Дата: 24.08.19 19:53
Оценка: 2 (1) +1
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Если голову поломать, и заодно понять концепции, которые пока не вошли в мейнстрим, но вполне могут войти, то рекомендую Haskell. В нем функциональное программирование, функции высшего порядка, система типов, иммутабельность, функциональные структуры данных. Это все в нем невозможно не использовать. Для ознакомления и прокачки достаточно на уровне решения простых алгоритмических задач (project euler и т.п.). Не запариваться про лямбда-исчисление, теорию категорий и т.п., просто решать задачки.

Как полезная замена — наверное, стоит посмотреть на F#, но по красоте он не дотягивает до Haskell и накладывается отпечаток .NET

Если просто посмотреть, что в других языках бывает (другие концепции):
Smalltalk - (я в свое время балдел), динамика, чистейший ООП (ВСЕ есть объект, даже if-else и while всего лишь методы в объекте), идеальный REPL (программа = runtime), функции высшего порядка, очень простой синтаксис. Сейчас не используется язык.
Lisp-подобный язык какой-нибудь, современный — программа = данные, "отсутствие" синтаксиса (тот же форт, только лучше, понятнее для человека, а не компа).
Пролог - необычный, странный. Сам по себе, наверное, не используется, но возможно выстрелит когда-нибудь datalog (пролог-подобный язык запросов)
Ассемблер - чтобы понять как внутри комп работает. Система команд, регистры, память, условные переходы, флаги процессора. Простейшие алгоритмы посмотреть (циклы, поиск, вызов процедуры, реализация ООП), особенно кто на Си пишет.
UPD: Еще Erlang интересен, наверное.

Как писать крупные проекты на этих языках я не знаю. И вообще, у меня нет большого опыта их использования. Поэтому не могу сказать про полезность. Но мозги приходится поднапрячь при ознакомлении, и в дальнейшем это помогает.

Немножко не по теме, но все же: SQL, XSLT, XPath
И языки разметки, совсем не по теме, но зато очень полезно: XML, JSON, jsonlines/hjson, YAML, INI
Best regards, Буравчик
Отредактировано 25.08.2019 4:52 Буравчик . Предыдущая версия .
Re[2]: Какой бы язык изучить?
От: Ночной Смотрящий Россия  
Дата: 24.08.19 20:39
Оценка: +4
Здравствуйте, Maniacal, Вы писали:

M>Правда, думаю, после выхода клона Java — C# не сильно много нового можно будет узнать.


Клоном он был только в версии 1.0. Каждый последующий релиз отдалял его от джавы. В результате в версии 8.0 это уже абсолютно другой язык.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Какой бы язык изучить?
От: Ночной Смотрящий Россия  
Дата: 24.08.19 20:44
Оценка:
Здравствуйте, Basil2, Вы писали:

Z>>еще Swift и Kotlin

B>Разумно. Но это мобильная разработка, а мне она очень не понравилась.

Котлин — далеко не только мобильная. Он изначально вообще для классического десктопа делался.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Какой бы язык изучить?
От: Ночной Смотрящий Россия  
Дата: 24.08.19 20:44
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Есть специальный такой язык для обкатки концепций. Называется Хаскелл.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Какой бы язык изучить?
От: Ops Россия  
Дата: 24.08.19 20:56
Оценка: :)))
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Nemerle уже советовали?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: Какой бы язык изучить?
От: _ilya_  
Дата: 24.08.19 21:36
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Хочу повторить эти ощущения и заодно выучить что-то полезное.[/b]


Не думаю что машинный код / ассемблер будет хорошим уроком. Если было не понятно, что все языки +- одно и тоже.
Re[4]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 25.08.19 11:38
Оценка: 2 (1)
Здравствуйте, rudzuk, Вы писали:

B>> Разумно. Но это мобильная разработка, а мне она очень не понравилась.

R>Чем именно, если не секрет?

Не секрет:

1. Неудобно отлаживать.
2. Сложно проверять (разница между Android и iOS; разница в Android'ах).
3. Ненативные языки (если хочется использовать один язык везде)

У меня правда был дерьмовый инструмент (PhoneGap), но проблемы выше в любом случае будут.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Отредактировано 25.08.2019 11:39 Basil2 . Предыдущая версия .
Re[4]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 25.08.19 11:43
Оценка:
Здравствуйте, Kswapd, Вы писали:

B>>Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++.


K>Ну как же. Go — отрицание C++ .


Я неудачно выразился. Правильно сказать так: синтаксис Go слишком похож на С, из-за чего он выглядит как С со свистоперделками. Тогда как синтаксис Rust на С не похож, из-за чего выглядит значительно более целостным.

K>А что имеется в виду под паттерн-матчингом? Как в Хаскеле, множественное определение функции? Go откровенно императивный язык, ему такое не идёт.


Оператор match (как замена switch).
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 25.08.19 11:50
Оценка:
Здравствуйте, _ilya_, Вы писали:

B>>Хочу повторить эти ощущения и заодно выучить что-то полезное.[/b]

__>Не думаю что машинный код / ассемблер будет хорошим уроком. Если было не понятно, что все языки +- одно и тоже.

У меня 15 лет опыта С++. Странно было бы при этом не знать ассемблер.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[5]: Какой бы язык изучить?
От: Ops Россия  
Дата: 25.08.19 11:59
Оценка: +1
Здравствуйте, Basil2, Вы писали:

B>Я неудачно выразился. Правильно сказать так: синтаксис Go слишком похож на С, из-за чего он выглядит как С со свистоперделками. Тогда как синтаксис Rust на С не похож, из-за чего выглядит значительно более целостным.


Да 100500 языков похожи синтаксисом на C, это говорит скорее о его изначальном удобстве и большой универсальности.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: Какой бы язык изучить?
От: kov_serg Россия  
Дата: 25.08.19 18:13
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.


B>А некоторое время назад на работе решили писать тесты на C#. Начал изучать и также получил огромное удовольствие. Было очень приятно увидеть, как красиво обыграли многие неудачные моменты C++. (Правда, от этой идеи быстро отказались, и так я его и не изучил).

https://ziglang.org/

B>Хочу повторить эти ощущения и заодно выучить что-то полезное. Основной язык сейчас C++, также иногда использую Python, JavaScript, LUA. Чтобы такого изучить? Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.

Дык у вас уже всё есть, кроме php и perl-а и tcl.
lua уже пользовались посмотрите http://terralang.org/

B>Основные кандидаты сейчас это F# и Rust. F# — потому что название напоминает Forth Ну и это функциональный язык, т.е. несколько другая концепция чем у С++ — как в свое время другая концепция была у Forth. Опять же функции мне кажется должны чем-то напоминать слова у Forth.

для разнообразия VHDL

B>Rust — потому что он позиционируется как замена С++. То есть я рассчитываю на тот же эффект, что был при изучении C#. Ну и жалко свой многолетний опыт по С++, а в Rust он вроде бы пригодится. И еще мне кажется, что Rust можно выучить. Про С++ я к сожалению понял, что он уже не умещается в моей голове. Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море. А я люблю понимать, что знаю язык от и до, но это не про плюсы


B>Что скажете?

D и Rust не взлетит.
Re[2]: Какой бы язык изучить?
От: Anton Batenev Россия https://github.com/abbat
Дата: 25.08.19 18:36
Оценка:
Здравствуйте, kov_serg, Вы писали:

k> https://ziglang.org/


И как оно?
github.com/abbat
Re[6]: Какой бы язык изучить?
От: AlexGin Беларусь  
Дата: 25.08.19 21:39
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Да 100500 языков похожи синтаксисом на C, это говорит скорее о его изначальном удобстве и большой универсальности.


Именно так!
И ещё это говорит о том, что освоение очередного C-подобного языка происходит быстрее и проще!
Re: Какой бы язык изучить?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 26.08.19 00:34
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>Rust — потому что он позиционируется как замена С++.

Да, хорошая штука.
B>Что скажете?
Если прямо изучить что-то новое, то OCaml попробуй. Хаскел более хардкорен, а окамл не особо.
Sic luceat lux!
Re[3]: Какой бы язык изучить?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 26.08.19 05:41
Оценка: +2 :)
Здравствуйте, Basil2, Вы писали:

B>Я бы сказал что Rust это как будто из С снова делают С++, только с учетом опыта делания С++.

B>Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++. В Расте все же виден некий стержень, вокруг которого все делается.

В Расте народ борется с ветряными мельницами, по большому счету, вот и весь стержень. Управление памятью в C++ уже много лет как не проблема вот прям совсем, но по старой памяти многие используют эту страшилку до сих пор.
Re: Какой бы язык изучить?
От: MasterZiv СССР  
Дата: 26.08.19 08:51
Оценка: 4 (2) +1
Здравствуйте, Basil2, Вы писали:

B>В молодости случайно купил книжку по Forth и получил огромное удовольствие от его изучения. Необычный, минималистичный, расширяемый — на фоне Pascal и Basic это было очень интересно. Но поработать с ним к сожалению не пришлось.


B>А некоторое время назад на работе решили писать тесты на C#. Начал изучать и также получил огромное удовольствие. Было очень приятно увидеть, как красиво обыграли многие неудачные моменты C++. (Правда, от этой идеи быстро отказались, и так я его и не изучил).


B>Хочу повторить эти ощущения и заодно выучить что-то полезное. Основной язык сейчас C++, также иногда использую Python, JavaScript, LUA. Чтобы такого изучить? Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.


B>Основные кандидаты сейчас это F# и Rust. F# — потому что название напоминает Forth Ну и это функциональный язык, т.е. несколько другая концепция чем у С++ — как в свое время другая концепция была у Forth. Опять же функции мне кажется должны чем-то напоминать слова у Forth.


B>Rust — потому что он позиционируется как замена С++. То есть я рассчитываю на тот же эффект, что был при изучении C#. Ну и жалко свой многолетний опыт по С++, а в Rust он вроде бы пригодится. И еще мне кажется, что Rust можно выучить. Про С++ я к сожалению понял, что он уже не умещается в моей голове. Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море. А я люблю понимать, что знаю язык от и до, но это не про плюсы


B>Что скажете?


Учи Common Lisp
Re: Какой бы язык изучить?
От: AlexGin Беларусь  
Дата: 26.08.19 12:45
Оценка: +2
Здравствуйте, уважаемый Basil2, Вы писали:
...

B>Rust — потому что он позиционируется как замена С++.


Не уверен что это именно так. Возможно — Вы выдаёте желаемое за действительное

B>То есть я рассчитываю на тот же эффект, что был при изучении C#.


Невозможно дважды войти в одну и ту же реку. (Гераклит, 500 лет до н.э.).
Начнём с того, что более 15 лет назад, когда мы изучали .NET вообще и C# в частности, всё было другое. Да и мы моложе

B>Ну и жалко свой многолетний опыт по С++, а в Rust он вроде бы пригодится. И еще мне кажется, что Rust можно выучить. Про С++ я к сожалению понял, что он уже не умещается в моей голове.


Вы, уважаемый Basil2, в этом не одиноки.
Не только многие разработчтики (в том числе и я), подпишутся под этими словами, но и сам автор C++ многоуважаемый господин Бьёрн Страуструп.

B>Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море.

+100500
Да, после выхода стандарта 2011 года — можно сказать, что новый C++ это другой язык...
И именно это — подогревает интерес к изучению и освоению новых возможностей языка!

B>А я люблю понимать, что знаю язык от и до, но это не про плюсы

B>Что скажете?

Изучать именно C++ углубить своё понимание в нём.
По проинцыпу:
Новое — это хорошо забытое старое

P.S. Ни один язык не удасться узучить как Вы пишите "знаю_язык_от_и_до"
Так, например, я думал, что знаю обычный ANSI C от и до.
Что уже более 20 лет (двадцати лет) как его знаю...

Но вот решил я изучить UNIX/Linux — как программист.
Приобрел вот такие книжки:
1) Advanced Programming in the UNIX® Environment, Third Edition: http://www.apuebook.com/apue3e.html
2) The Linux Programming Interface: http://man7.org/tlpi
Там — всё на классическом ANSI C.
Изучая их я понял, что в обычном Си я многого чего не знаю
Отредактировано 26.08.2019 12:48 AlexGin . Предыдущая версия .
Re[4]: Какой бы язык изучить?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.08.19 11:54
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>В Расте народ борется с ветряными мельницами, по большому счету, вот и весь стержень. Управление памятью в C++ уже много лет как не проблема вот прям совсем, но по старой памяти многие используют эту страшилку до сих пор.


As we’ve seen, roughly 70% of the security issues that the MSRC assigns a CVE to are memory safety issues. This means that if that software had been written in Rust, 70% of these security issues would most likely have been eliminated. And we’re not the only company to have reported such findings.

https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/

Вот те и "много лет как не проблема", до сих пор мучаются.
Re: Какой бы язык изучить?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.08.19 12:05
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.

B>Основные кандидаты сейчас это F# и Rust.

Re[5]: Какой бы язык изучить?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 27.08.19 12:20
Оценка: +1
Здравствуйте, D. Mon, Вы писали:

DM>

As we’ve seen, roughly 70% of the security issues that the MSRC assigns a CVE to are memory safety issues. This means that if that software had been written in Rust, 70% of these security issues would most likely have been eliminated. And we’re not the only company to have reported such findings.

DM>https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/

DM>Вот те и "много лет как не проблема", до сих пор мучаются.


Отличный пример жонглирования фактами. Обычно именно так и выглядят попытки доказать что в C++ с управлением памятью всё плохо до сих пор. А ведь надо совсем чуть-чуть: объединить Си с C++ и навалить сверху проектов возраста говна мамонта, как C++ становиться магическим образом опасным. При этом, если проект изначально C++11 и написан на C++, а не Си-с-классами, то проблем с памятью, почему-то нет. Это я не к тому, что C++ прекрасный и безопасный язык, а к тому, что проблем с памятью в современном C++ (11 и выше) не сильно больше чем в любом другом не-функциональном языке, будь то Java или Go.
Re[2]: Какой бы язык изучить?
От: Poopy Joe Бельгия  
Дата: 27.08.19 12:22
Оценка:
Здравствуйте, D. Mon, Вы писали:

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


B>>Желательно, чтобы это потом пригодилось, а в идеале чтобы еще найти работу удаленно.

B>>Основные кандидаты сейчас это F# и Rust.

А зачем, собственно говоря, учить то, что знает каждая собака? Входить на рынок надо когда спрос только зарождается.
Re[6]: Какой бы язык изучить?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.08.19 13:07
Оценка: +1 -1
Здравствуйте, kaa.python, Вы писали:

DM>>https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/


KP>Отличный пример жонглирования фактами. Обычно именно так и выглядят попытки доказать что в C++ с управлением памятью всё плохо до сих пор. А ведь надо совсем чуть-чуть: объединить Си с C++ и навалить сверху проектов возраста говна мамонта, как C++ становиться магическим образом опасным. При этом, если проект изначально C++11 и написан на C++, а не Си-с-классами, то проблем с памятью, почему-то нет.


Ну так большинство реальных проектов относятся к первой группе. Все просто. Говна мамонтов много, а новых проектов на новом С++ очень мало, это вырождающаяся ниша.
Re: Какой бы язык изучить?
От: wamaco  
Дата: 27.08.19 18:06
Оценка: :))) :))
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


стань гуру Delphi!
всем назло!
Re[7]: Какой бы язык изучить?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 27.08.19 23:04
Оценка: +1
Здравствуйте, D. Mon, Вы писали:

DM>Ну так большинство реальных проектов относятся к первой группе. Все просто. Говна мамонтов много, а новых проектов на новом С++ очень мало, это вырождающаяся ниша.


Ну а зачем же ты тогда споришь с тем, что современный C++ дает достаточно инструментов для безопасной работы с памятью? Что бы проект стал безопасным на Rust — его надо на него полностью переписать с нуля. Ну а в случае с C++ достаточно постепенно перевести кодовую базу в соответствие с современными стандартами, что как минимум ощутимо дешевле.
Re[8]: Какой бы язык изучить?
От: Poopy Joe Бельгия  
Дата: 28.08.19 07:27
Оценка: -2 :))
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, D. Mon, Вы писали:


DM>>Ну так большинство реальных проектов относятся к первой группе. Все просто. Говна мамонтов много, а новых проектов на новом С++ очень мало, это вырождающаяся ниша.


KP>Ну а зачем же ты тогда споришь с тем, что современный C++ дает достаточно инструментов для безопасной работы с памятью? Что бы проект стал безопасным на Rust — его надо на него полностью переписать с нуля. Ну а в случае с C++ достаточно постепенно перевести кодовую базу в соответствие с современными стандартами, что как минимум ощутимо дешевле.


Так он и не дает, странно даже спорить с очевидным.
https://www.apriorit.com/dev-blog/520-rust-vs-c-comparison
Re[3]: Какой бы язык изучить?
От: bnk СССР http://unmanagedvisio.com/
Дата: 28.08.19 07:39
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>А зачем, собственно говоря, учить то, что знает каждая собака? Входить на рынок надо когда спрос только зарождается.


Есть 9 ларьков с хот-догами. Поставишь рядом десятый — получишь стабильную прибыль. Начнёшь торговать шаурмой — разоришься. Не?
Re[4]: Какой бы язык изучить?
От: Poopy Joe Бельгия  
Дата: 28.08.19 08:16
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Здравствуйте, Poopy Joe, Вы писали:


PJ>>А зачем, собственно говоря, учить то, что знает каждая собака? Входить на рынок надо когда спрос только зарождается.


bnk>Есть 9 ларьков с хот-догами. Поставишь рядом десятый — получишь стабильную прибыль. Начнёшь торговать шаурмой — разоришься. Не?


Не факт, что стабильную и уж точно небольшую, скорее всего у соседей уже есть лояльные клиенты и больше опыта. А на шаурме можно и подняться. Но можно и разорится, да. Это вопрос оценки, что открывать. Шаурму или молочный ларек.
Re[7]: Какой бы язык изучить?
От: AlexGin Беларусь  
Дата: 28.08.19 09:05
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Ну так большинство реальных проектов относятся к первой группе. Все просто. Говна мамонтов много, а новых проектов на новом С++ очень мало, это вырождающаяся ниша.


Где-то дорабатываю старые проекты, чтобы вывести их из состояния "г/м", где-то разрабатывают новые.

Ну а кое-где жалостливо всхлипывают:
-Ну C++ это же вырождающаяся ниша Жалко программистов, оставшихся в ней и т.д. и т.п.

P.S. Я не спорю, что разработка нового пректа — в разы интереснее, нежели копание в старом "г/м", но тем не менее, факт наличия старых (нуждающихся в рефакторинге) проектов —
также способствует появлению новых рабочих мест!
Re[8]: Какой бы язык изучить?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 28.08.19 09:05
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Ну а зачем же ты тогда споришь


Ну мы ж в КСВ, скучно было бы всем соглашаться.

KP> с тем, что современный C++ дает достаточно инструментов для безопасной работы с памятью?


Он также содержит все несовременные и небезопасные способы тоже, это минное поле и lipstick on a pig. Простой
arr[idx] = 1;
легко рушит всю безопасность, т.к. границы массива не проверяются.
Re[8]: Какой бы язык изучить?
От: Mamut Швеция http://dmitriid.com
Дата: 28.08.19 09:32
Оценка:
AG>P.S. Я не спорю, что разработка нового пректа — в разы интереснее, нежели копание в старом "г/м", но тем не менее, факт наличия старых (нуждающихся в рефакторинге) проектов —
AG>также способствует появлению новых рабочих мест!

Консультанты на COBOLе сейчас одни из самых высокооплачиваемых разработчиков


dmitriid.comGitHubLinkedIn
Re[2]: Какой бы язык изучить?
От: Privalov  
Дата: 28.08.19 11:15
Оценка:
Здравствуйте, wamaco, Вы писали:

W>стань гуру Delphi!


Delphi не нужен. Fortran — наше всё!
Re[6]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 12:55
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Да 100500 языков похожи синтаксисом на C, это говорит скорее о его изначальном удобстве и большой универсальности.


Да я разве против? Просто любая надстройка над синтаксисом С выглядит именно надстройкой, а не самостоятельным языком.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[4]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 15:31
Оценка:
Здравствуйте, kaa.python, Вы писали:

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


B>>Я бы сказал что Rust это как будто из С снова делают С++, только с учетом опыта делания С++.

B>>Я думал о Go, но что-то он совсем не глянулся. С одной стороны странноватый синтаксис, с другой — все тоже самое как в С++. В Расте все же виден некий стержень, вокруг которого все делается.

KP>В Расте народ борется с ветряными мельницами, по большому счету, вот и весь стержень. Управление памятью в C++ уже много лет как не проблема вот прям совсем, но по старой памяти многие используют эту страшилку до сих пор.


Насчет управления памятью в С++ полностью согласен, сам не вижу там проблемы. Раст я так понял своей моделью памяти больше решает проблемы многопоточности, нежели утечек (с которыми давно научились бороться). Ну и под стержнем я скорее синтаксис имел в виду. Он там менялся несколько раз по ходу дела, что отвадило от языка часть народа, но зато его в достаточной мере вылизали, имхо.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[9]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 15:36
Оценка:
Здравствуйте, D. Mon, Вы писали:

KP>> с тем, что современный C++ дает достаточно инструментов для безопасной работы с памятью?


DM>Он также содержит все несовременные и небезопасные способы тоже, это минное поле и lipstick on a pig. Простой
arr[idx] = 1;
легко рушит всю безопасность, т.к. границы массива не проверяются.


Это как раз совсем не проблема — в дебаге это обычно проверяется. Да и дебажная версия STL тоже много чего чекает. Проблемой является переезд памяти, когда один объект подсирает другому объекту. И если это например попадает на счетчик ссылок, кто-то подвисает в памяти и понеслось...
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[10]: Какой бы язык изучить?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 30.08.19 16:10
Оценка:
Здравствуйте, Basil2, Вы писали:

DM>> т.к. границы массива не проверяются.


B>Это как раз совсем не проблема — в дебаге это обычно проверяется.


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

B> Проблемой является переезд памяти, когда один объект подсирает другому объекту. И если это например попадает на счетчик ссылок, кто-то подвисает в памяти и понеслось...


Это да. В частности, любовь С++ передавать объекты по значению, и разрешение для них наследования, это прямая дорога к тому, чтобы или стек рядом запороть, или объект неполный сформировать... Другие языки тут сделали выводы, но С++ было уже поздно.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 19:11
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>https://ziglang.org/


B>>Что скажете?

_>D и Rust не взлетит.

Ziglang как раз напоминает мне смесь JavaScript с Rust.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 19:19
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Начнём с того, что более 15 лет назад, когда мы изучали .NET вообще и C# в частности, всё было другое. Да и мы моложе


Но я то лет 5 всего назад изучал

B>>Стандарт С++11 внес много хороших плюшек, но после 14 и 17 стало понятно, что вещей к изучению там море.

AG>+100500
AG>Да, после выхода стандарта 2011 года — можно сказать, что новый C++ это другой язык...

А я бы так не сказал. Имхо там нет ни одной фичи, которая бы сделала его другим языком. Auto? For loop? Initialization lists? Lambdas? Smart pointers? Threads? Все это было так или иначе в Boost. Только move-семантика достаточно прорывная штука, но только ухудшает пользование языком, причем значительно.

AG>P.S. Ни один язык не удасться узучить как Вы пишите "знаю_язык_от_и_до"


На 100% да, но можно прилично таки приблизиться. Например, если это LUA.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 30.08.19 19:23
Оценка:
Здравствуйте, wamaco, Вы писали:

W>стань гуру Delphi!

W>всем назло!

Я начинал с Pascal, так что Delphi меня в свое время восхитил. Правда, несложно восхититься, когда на закате MS-DOS ты за пару часов делаешь программу с графическим GUI.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Какой бы язык изучить?
От: AlexGin Беларусь  
Дата: 31.08.19 04:35
Оценка:
Здравствуйте, Basil2, Вы писали:

AG>>Да, после выхода стандарта 2011 года — можно сказать, что новый C++ это другой язык...


B>А я бы так не сказал. Имхо там нет ни одной фичи, которая бы сделала его другим языком.


Не утверждаю, что принцыпиально новым, но всё-таки другим
Вот насчет новых фич:
https://habr.com/ru/post/182920

B>Auto? For loop? Initialization lists? Lambdas? Smart pointers? Threads? Все это было так или иначе в Boost. Только move-семантика достаточно прорывная штука, но только ухудшает пользование языком, причем значительно.


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

Насчёт smart pointers — также отличная штука (да и boost не надо за собой тащить).
Когда начинаешь усиленно пользоваться возможностями Modern С++, уже не хочется работать в стиле C++03/C++99

AG>>P.S. Ни один язык не удасться узучить как Вы пишите "знаю_язык_от_и_до"


B>На 100% да, но можно прилично таки приблизиться. Например, если это LUA.

+100500
Скажем так: любой язык можно прилично изучить, так чтобы владеть основными возможностями в рамках практического использования.
Отредактировано 31.08.2019 4:40 AlexGin . Предыдущая версия .
Re[4]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 31.08.19 18:42
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Не утверждаю, что принцыпиально новым, но всё-таки другим

AG>Вот насчет новых фич:
AG>https://habr.com/ru/post/182920

Так я большую половину и перечислил. Nullptr и свободные begin/end это и не фичи можно сказать.

AG>Да та же самая auto — написал четыре буквы, а реальный тип за тебя компилятор подставил


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

AG>И чтобы прописать этот реальный тип — зачастую приходилось ешё немало поискать его.


Мне всегда хватало нажать F12.

AG>Насчёт smart pointers — также отличная штука (да и boost не надо за собой тащить).


Они были уже в std::tr1. Ну и в самих плюсах был auto_ptr, хотя он конечно был кривоват. И таки да, нормальный указатель появился только в C++11, даже в бусте его полностью не было.

AG>Когда начинаешь усиленно пользоваться возможностями Modern С++, уже не хочется работать в стиле C++03/C++99


Это правда. Из относительно концептуальных фич можно назвать constexpr. Она действительно привносит в язык новые необычные возможности.

AG>Скажем так: любой язык можно прилично изучить, так чтобы владеть основными возможностями в рамках практического использования.


Это да, но мне очень нравится ощущения "я знаю про это практически всё". С текущим С++ его увы не получить.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 02.09.19 09:46
Оценка:
Здравствуйте, Kswapd, Вы писали:

K>Мне это удалось с Go.

Что же в нём мощного?
Sic luceat lux!
Re[3]: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 02.09.19 11:19
Оценка:
K>>Мне это удалось с Go.
K>Что же в нём мощного?

Относительно малыми усилиями можно быстро создавать богатые функционалом, краткие, читабельные, легко поддерживаемые программы. Что это, если не мощь?
Re[4]: Какой бы язык изучить?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 02.09.19 11:32
Оценка:
Здравствуйте, Kswapd, Вы писали:

K>Относительно малыми усилиями можно быстро создавать богатые функционалом, краткие, читабельные, легко поддерживаемые программы.

На питоне нельзя?
K>Что это, если не мощь?
Ну... хз. На С++ тоже можно. Мне казалось мощь языка раскрывается через его выразительность и тулинг. С первым у Го есть проблемы, со вторый вроде не всё плохо.
Sic luceat lux!
Re[5]: Какой бы язык изучить?
От: Kswapd Россия  
Дата: 02.09.19 12:35
Оценка:
K>Ну... хз. На С++ тоже можно.

Относительно большими усилиями . Конечно, это всего лишь моё субъективное мнение. Тем не менее, появляются отзывы людей, чьи команды начали использовать Go вместо другого языка, к чему это привело.

Например: https://hackernoon.com/5-reasons-why-we-switched-from-python-to-go-4414d5f42690
(перешли с Питона)

Или: https://p.umputun.com/2017/04/18/god-s-go-v-riealnoi-rabotie/
(год с Go в реальной работе)
Re[4]: Какой бы язык изучить?
От: Mamut Швеция http://dmitriid.com
Дата: 02.09.19 12:39
Оценка: :))
K>Относительно малыми усилиями можно быстро создавать богатые функционалом, краткие, читабельные, легко поддерживаемые программы. Что это, если не мощь?



dmitriid.comGitHubLinkedIn
Re[5]: Какой бы язык изучить?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 02.09.19 13:17
Оценка:
Здравствуйте, Mamut, Вы писали:

K>>Относительно малыми усилиями можно быстро создавать богатые функционалом, краткие, читабельные, легко поддерживаемые программы. Что это, если не мощь?

Вот и я про это!
Sic luceat lux!
Re[5]: Какой бы язык изучить?
От: Anton Batenev Россия https://github.com/abbat
Дата: 02.09.19 15:33
Оценка: 1 (1) +1
Здравствуйте, Kernan, Вы писали:

K> K>Что это, если не мощь?

K> Ну... хз. На С++ тоже можно.

Go со своей стандартной библиотекой заточен под относительно узкую область перекладывания данных по сети из одного места в другое — то, чем заняты 99% веб-сервисов. Можно на плюсах. Наверное можно и на питоне. Но в Go это сделано out of box что называется. Например, чтобы использовать tls session resumption & tickets в Go требуется одна строка. В плюсах (в зависимости от библиотеки) придется немного поприседать с "сырым" tls-сокетом и кэшем. Питонисты меня с моими хотелками пару лет назад послали далеко и на долго (там monkey patching в urllib был, если память не подводит). Если работа связана вот с этим всем, то в какой-то момент от Go начинает неиллюзорно штырить.
Re: Какой бы язык изучить?
От: alex_public  
Дата: 04.09.19 20:21
Оценка: 1 (1)
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Если хочется реально "повернуть мозг в другом направление", то на мой взгляд для твоего конкретного случая есть всего лишь один реальный вариант (несмотря на то, что тебе тут много чего насоветовали). Просто потому, что с одной стороны хороший C++ программист уже знаком на практике со всеми актуальными парадигмами (приходится использовать и функциональные приёмы и метапрограммирование и много чего ещё, разве что логической ещё нет в языке, но она и не особо актуальна к сожалению), а с другой должен не плохо разбираться в устройстве компьютерного железа. И сочетание данных факторов даёт нам ровно одно пересечение: Verilog! Ну или сразу его обобщение под названием SystemVerilog, хотя можно начать с простого. Это реально совершенно другое программирование и при этом крайне перспективное в наше время. Но оно потребует серьёзных вложений времени в изучение предметной области... Точнее hello world можно написать за пару минут, скачав простейший компилятор и эмулятор. А вот сделать что-то сложное на современном уровне уже так не получится — придётся изучать принятые в данной области приёмы, которые совершенно не такие как в привычном программирование.

P.S. Если честно, то не вижу ничего сложного в современном C++ и с нетерпением ожидаю C++20, в котором будет (это уже точно зафиксировано комитетом) новая большая (намного больше чем в C++14/C++17) гора вкусностей! Однако удовлетворённость основным инструментом разработки (хотя у меня ещё и Питон и ещё десяток мелких языков есть) конечно же совершенно не означает, что не надо изучать новые языки и парадигмы.
Re: Итог.
От: Basil2 Россия https://starostin.msk.ru
Дата: 04.09.19 21:24
Оценка:
После прочтения всех сообщений, кандидатами стали Rust, Go, Haskell, F#, Lisp.

Пока остановился на Rust. Попробую переписать на нем пару небольших проектов. Концепция и синтаксис очень нравятся, а move-семантика и RWlock знакомы по предыдущему опыту.

По Go просмотрел местный тур. Местами понравилось (defer, go, синтаксис лямбд), местами нет. Неконсистентный синтаксис объявления переменных и в общем-то плохо, а вариант с := меня, как начинавшего с Паскаля, почему-то угнетает. Хотя я понимаю, что пацаны просто хотели дефайнить переменные непосредственно в for и if.

Haskell скорее всего будет языком, на котором я попробую функциональщину. Хотя, если вдруг друзья будут делать игру на Unity и пригласят поучаствовать, может быть попробую F#.

Lisp тоже интересно попробовать. Может быть даже вперед Хаскеля, поскольку скорее просто попробовать.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 11.09.19 04:33
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Rust не позицируется как замена C++, максимум замена C.


Познакомился с Rust подробнее. Это именно замена С++. Ну или замена С, но в том же смысле, как С — замена ассемблеру. То есть это язык на уровень выше, чем С и С++ (также как когда-то С оказался на уровень выше ассемблера).

Никакими оригинальными С там не пахнет. Просто С++ это условно "С с классами", а Rust — это "С с шаблонами и методами". Только далеко уже не С
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Отредактировано 11.09.2019 8:45 Basil2 . Предыдущая версия .
Re[2]: Итог.
От: Mamut Швеция http://dmitriid.com
Дата: 11.09.19 10:49
Оценка:
B>Haskell скорее всего будет языком, на котором я попробую функциональщину. Хотя, если вдруг друзья будут делать игру на Unity и пригласят поучаствовать, может быть попробую F#.

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

Но подход «пощупать там, пощупать здесь» вполне работает.


dmitriid.comGitHubLinkedIn
Re[3]: Какой бы язык изучить?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 12.09.19 00:56
Оценка: :)
Здравствуйте, Basil2, Вы писали:

B>Познакомился с Rust подробнее. Это именно замена С++. Ну или замена С, но в том же смысле, как С — замена ассемблеру. То есть это язык на уровень выше, чем С и С++ (также как когда-то С оказался на уровень выше ассемблера).


Что бы быть заменой чего-то, крайне желательно либо быть лучше в какой-то конкретной нише (что проделали Java, C#, Go, Python) либо предлагать обратную совместимость при наличии лучших возможностей (C++ как замена Си). А вот в случае в Rust тут сложности. Он не предлагает никакой серебряной пули (ну, пытается со своей защитой памяти, но это работает только с теми, кто нормально C++ не знает и слышал страшилки образца pre-C++11) и при этом не дает обратной совместимости с C++.

B>Никакими оригинальными С там не пахнет. Просто С++ это условно "С с классами", а Rust — это "С с шаблонами и методами". Только далеко уже не С


С шаблонами и интерфейсами трейтами, наверное? Или о чем-то другом речь?
Re[4]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 12.09.19 12:16
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Что бы быть заменой чего-то, крайне желательно либо быть лучше в какой-то конкретной нише (что проделали Java, C#, Go, Python) либо предлагать обратную совместимость при наличии лучших возможностей (C++ как замена Си). А вот в случае в Rust тут сложности.


Быстро он С/С++ конечно не заменит, это да. Но это особенности предметной области — новый системный софт создают гораздо реже, чем новый веб-сервер.

KP>Он не предлагает никакой серебряной пули (ну, пытается со своей защитой памяти, но это работает только с теми, кто нормально C++ не знает и слышал страшилки образца pre-C++11) и при этом не дает обратной совместимости с C++.


"Защита памяти" — это псевдоаргумент, которое противники Rust выдумали, чтобы потом самим же и опровергать. В Rust очень много вещей, заточенных на создание надежного кода (паттерн-матчинг, обработка ошибок через специальные типы, итераторы, алгебраические типы, встраивание тестов и т.д.). А "защита памяти" обычно это аргумент плюсовиков, которые уже оценили RAII но не пробовали Rust.

Потому что как раз те, кто знает современный С++, восхищаются моделью памяти Rust. Серебряной пули там действительно нет, но простота и строгость модели воспринимаются очень хорошо. Тем более что база модели это время жизни ссылок и move-семантика — как раз то, что пошло в ход с С++11.

KP>С шаблонами и интерфейсами трейтами, наверное? Или о чем-то другом речь?


О них, но "трейты" странновато звучит.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[5]: Какой бы язык изучить?
От: Иван Дубров США  
Дата: 12.09.19 16:07
Оценка:
Здравствуйте, Basil2, Вы писали:

B>О них, но "трейты" странновато звучит.


Их ещё "типажи" называют.
Re: Какой бы язык изучить?
От: Vladek Россия Github
Дата: 13.09.19 11:10
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Мой список, в порядке убывания интереса: D, Lisp, Rust, Go.

Лучше всего писать код на этих языках, но я пока остановился на приобретении книг. Если честно, просто не хватает времени вплотную заняться изучением.
Re[6]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 15.09.19 11:34
Оценка:
Здравствуйте, Иван Дубров, Вы писали:

B>>О них, но "трейты" странновато звучит.

ИД>Их ещё "типажи" называют.

Называют, но "типаж" звучит неочевидно для тех, кто не знает что это такое. Тогда как "метод" поймут все.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Какой бы язык изучить?
От: Basil2 Россия https://starostin.msk.ru
Дата: 15.09.19 11:41
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Мой список, в порядке убывания интереса: D, Lisp, Rust, Go.

V>Лучше всего писать код на этих языках, но я пока остановился на приобретении книг. Если честно, просто не хватает времени вплотную заняться изучением.

У Алексендреску есть статья как раз про сравнение этих языков:
https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-of-C-between-D-Go-and-Rust-And-Why
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.