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) гора вкусностей! Однако удовлетворённость основным инструментом разработки (хотя у меня ещё и Питон и ещё десяток мелких языков есть) конечно же совершенно не означает, что не надо изучать новые языки и парадигмы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.