LINUX.ORG.RU

D, Go и Rust, взлетит ли что-нибудь?

 , , , ,


4

8

Привет, LOR. На данный момент в окружающее пространство уже некоторое время накатывает следующая мысль: «Разработчикам прикладного ПО, использующим в своей практике Си и C++, крайне необходимо облегчить жизнь, избавив от ошибок с памятью и предоставив удобные механизмы для параллельного программирования». Одни адепты, этакие Базаровы от программирования, предлагают воплощать задумку с помощью новых языков: D, Go и Rust. Другие же, коих пока явно больше, всячески не желают выходить из своей зоны комфорта, предлагая включать необходимое в новые стандарты уже используемых инструментов.

Как думаешь, садиться ли уже сейчас за изучение одного из убийц Си/C++, чтобы через 5 лет не оказаться на обочине индустрии, или же все продолжит идти в старом русле с незначительными вливаниями новшеств?

Изучать стоит. Пересаживаться с крестов - нет. Постепенно C++ развивается, не жертвуя при этом ни кодовой базой, ни принципом нулевой стоимости.

anonymous
()
Ответ на: комментарий от Gorthauer

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

Выше по треду дали ссылку: https://doc.rust-lang.org/std/thread/fn.catch_panic.html

tailgunner ★★★★★
()
Ответ на: комментарий от umren

А ты думаешь 2 языка знать лучше одного?

Для себя да. Работодателю пофиг.

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

А иначе получается уродство типа: «я умею только жаву/сишечку/плюсы и только жаву/сишечку/плюсы буду использовать везде от микроконтроллеров до веба».

Где надо - сишечка, где сишечке не хватает выразительности, но рантайм с GC ещё нельзя - плюсы/возможно раст в порядке эксперимента, где влезает рантайм - Go/python/etc, где нужен минимальный footprint типа встраиваемого линукса - lua/tcl.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

А иначе получается уродство типа: «я умею только жаву/сишечку/плюсы и только жаву/сишечку/плюсы буду использовать везде от микроконтроллеров до веба».

Много знаешь специалистов которые программируют под микроконтроллеры и веб одновременно?

umren ★★★★★
()
Ответ на: комментарий от umren

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

Gorthauer ★★★★★
()
Ответ на: комментарий от umren

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

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Gorthauer

Если есть _много_ желания и базовое понимание архитектуры ЭВМ - может.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

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

до среднего? так нужны же лучшие :) в каждой технологии/стеке есть свои очень темные места, которые знают только после продолжительного времени работы с технологией, а когда ты такой весь на руки мастер, будешь только все факапить и проще тебя заменить n-ым количеством лучших специалистов в своей области.

umren ★★★★★
()
Ответ на: комментарий от umren

до среднего? так нужны же лучшие :)

"...Криэйторы, Вава, криэйторы"

В промышленной разработке «лучшие» вредны, они дороже заменяются в случае чего. Как впрочем и «мастера на все руки».

в каждой технологии/стеке есть свои очень темные места, которые знают только после продолжительного времени работы

Естественно. Только опыт в разных областях позволяет заранее примерно предполагать где может быть подляна заныкана.

Опять же, иногда необходимо знать несколько смежных областей на неглубоком уровне. Пример из жизни - есть некоторая железка с линуксом, которая занимается роутингом, туннелями, пробросом внешних интерфейсов и ещё по мелочи. При разработке приходится знать всего понемногу: начиная от написания драйверов, продолжая пониманием устройства сетевого стека, базовых правил построения дистрибутива и заканчивая умением пользоваться осциллографом и читать принципиальные схемы и сборочные чертежи. А, да, ещё факультативом микроконтроллеры для того что надо вынести с application processor, но это уже не обязательно.

проще тебя заменить n-ым количеством лучших специалистов в своей области.

Может быть и проще, но накладные расходы возрастают кардинально.

Dark_SavanT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.