LINUX.ORG.RU
ФорумTalks

ОН - язык будущего

 , , ,


0

3

Каким должен быть супер-мега-убийца C/C++/Java/etc (эдакий ЯП общего назначения)? Что он должен уметь, какой должна быть стандартная библиотека, что с синтаксисом? А то как ни случись новый язык - так говном поливают и по итогу тонет. Что всё-таки нужно для полного счастья?

Какой должен быть специалист будущего, эдакий ЯННП общего назначения, что он должен уметь, какая должна быть библиотека прочитанных книг, на каком языке он должен говорить?

Tark ★★
()

А то как ни случись новый язык - так говном поливают

«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует» Bjarne Stroustrup.

и по итогу тонет

Только во влажных фантазиях хейтеров. Вот серьезно, когда срачи что-то там «топили»?

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

Не, тонет не из-за срачей, а из-за того, что язык не удовлетворил потребности и затраты сил на перевод проектов на него не стоят удобств языка.

john_snake
() автор топика
Ответ на: комментарий от l4gfcm

Работает-то он хорошо, но оброс немыслимым числом взаимоисключающих библиотек и костылей - сравни код на Си из 1988 и из 2018, современный код не выглядит «родным» для языка.

john_snake
() автор топика
Ответ на: комментарий от john_snake

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

К тому же, стандартами C/C++ занимаются серьезные люди и что попало в язык не добавляют. Иначе бы давно имели сеть/гуй в стандартных библиотеках (в сыром виде). С другой стороны, добавленные filesystem и примитивы многопотока в плюсы, имеют отличную реализацию и хорошо обобщают различные платформы. Должен сказать, что комитет в свое время заставил шевелиться D-lang, у которого даже нормального компилятора небыло (хз как там сейчас).

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

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

А вас не смущает, что мы пользуемся стандартом электричества начала 20го века? Или газовыми плитами образца конца 19го. Колёсами прошлого тысячелетия? Линейками? Расчёсками? Ногами, руками, глазами?:)

Всё очень просто, любая технология со временем стабилизируется и остаётся почти неизменной. Так произойдёт со временем и с IT. Что-то уже стабилизировалось как С и окружение unix like, которое теперь стандарт вообще везде, даже в винде и на телефонах. Что-то ещё барахтается, но тоже зацементируется в течении лет 10-20 и это будет как примерно сейчас гибсовая штукатурка. Чёрт знает когда выдумали, а состав нынешних смесей разработан по крайней мере лет 70 назад.

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

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

john_snake
() автор топика
Ответ на: комментарий от john_snake

Какие костыли, что значит взаимоисключащие библиотеки? Звучит как непонятный бред.

По факту на С от года к году всё проще писать кросс-платформенный язык, почти всё что раньше было доступно только на nix системах теперь доступно хоть на mac и ios, которые сами nix, хоть на windows, который всё больше и больше синхронизируется. Даже встроенные решения теперь всё больше и больше nix. В этом плане С теперь реально кросс-платформенный и простой.

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

Электричество - это физический процесс, его нельзя переделать/улучшить, равно как и форма колеса имеет идеальные характеристики для перемещения (все точки равноудалены от оси). Короче, эти вещи уже никак не улучшить и не переделать. Транзисторы и двоичную логику - тоже. А вот то, что работает на этих транзисторах - вполне, т.к. это абстракция, поэтому и вопрос улучшения/изобретения новых языков программирования всё ещё актуален.

john_snake
() автор топика
Ответ на: комментарий от ixrws

Взаимоисключающие библиотеки - погугли, сколько есть либ для работы с сетью, удивишься. Костыли - это когда код не выглядит лаконично и логично, он перестаёт легко читаться. Про кросс-платформенность я и не спорил, равно как и про то, что многие решения по итогу работают на Си.

john_snake
() автор топика
Ответ на: комментарий от john_snake

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

Тут надо сравнивать всё в комплексе. Допустим чисто на java удобно писать под android, но насколько вы это приложение сможете легко портировать и тем более поддерживать в актуальном состоянии для других платформ? Опыт коммерческой разработки подсказывает, что не выйдет за адекватные деньги. Куда проще иметь отдельные приложения для ios, android, а про другие платформы и вовсе забыть. Можно взять конечно electron, но и тут есть масса нюансов.

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

С того времени появились инструменты, которые решают определенные задачи лучше и проще. Для прикладного программирования Си действительно не очень подходит (с чем всё же многие поспорят), для него есть те же плюсы. Для всевозможных движков лучше подходят скриптовые языки, и пихать дуда Си совсем не резонно.

Однако, в системном программировании Си таки рулез, и с этим тоже поспорят ребята пишущие ОС на расте, говоря о «безопасности».

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

Что за чепуху ты городишь? В разных странах даже разные напряжения переменного тока. А то что есть и другие виды передачи электричества должен был знать и по школьному курсу физики. Всё можно улучшить, всё можно прокачать. Можно например перейти на однопроводную передачу электричества, ещё масса всяких подходов есть. Но правда в том, что оказалось 110-120 и 220-240 вольт всем достаточно, всех устраивает. Вот и перестали даже напрягаться. Это примерно как всех устраивает современные двс.

Вот точно также С всех устраивает, чтобы там не думали хипстеры. И даже хипстеры взрослея вполне себе пишут на С и не жужжат.

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

Тема ui слишком сложная что бы натягивать её на язык. Как показывает практика, концепция гуи_движок-логика более удобна для кроссплатформы и хорошо решает проблему распределения задач.

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

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

john_snake
() автор топика
Ответ на: комментарий от hateyoufeel

Два из трёх уже сдохли же ну.

Фанат Котлина или Скалы?

Так то да. Котлин во всём лучше чем Java.

Наверное и Скала тоже, не знаю, не смотрел Скалу.

fsb4000 ★★★★★
()

Язык будущего - это язык в котором нет огромного числа вещей:

  1. Нюансов
  2. Сложной и неудобной документации
  3. Поспешных решений из за проёба сроков из за которых в, например, Java есть несколько типов Integer
  4. Единоличных пожизненных диктаторов
  5. Консорциума по стандарту из десяти тысяч участков вместо пункта #4
system-root ★★★★★
()
Ответ на: комментарий от john_snake

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

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

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

Кстати, о Kotlin - то ли у меня проект криво собран, то ли ещё чего - но IDEA периодически падала до октября при сборке проекта рандомно, пока я со знакомым разрабом Kotlin’а не поболтал и он не зафиксил, логи посмотрев. Язык-то хорош, но сыроват пока, хоть на него и сам Google перешёл.

john_snake
() автор топика
Ответ на: комментарий от john_snake

Точно также mmicraft бы работал через всего один .c файл, если был бы разработан для tinycc. Пример так себе, потому что любой кросплатформенный проект на Java это просто результат работы разработчиков над кросс-платформенностью. И сказать что minecraft прекрасно работает где бы то ни были, это то ещё преувеличение. Тот же source от valve явно лучше работает на всех поддерживаемых платформа.

ixrws ★★★
()

Поньчую Ponylang. Такой вот статически типизированный Erlang.

Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.

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

Ну а чем скажем Rust, Go или любой самый свежий язык программирования что-то кардинально меняет в сравнении с С? Тот факт, что большинство современных языков так или иначе базируется на С проектах, пронизаны ими насквозь как бы говорит, что С это как электричество из электронов.

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

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

john_snake
() автор топика
Ответ на: комментарий от ixrws

А приведи как хоть один язык, который бы имел аудиторию соизмеримую с С, но при этом не имел хотя бы с десяток библиотек для одного и того же?

А приведи мне хоть одного певца, который бы имел аудиторию соизмеримую с Джастином Бибером, но при этом умел бы петь?

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

Ты почему-то думаешь, что я гоню на Си - это неправда, он один из моих любимейших языков

А стоило бы начать гнать. C – довольно убогонький недоязычок с кривыми спецификациями, отвратными реализациями, которые несовместимы друг с другом, и кучей самоуверенных быдлокодеров, готовых клепать UB и сегфолты днём и ночью.

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

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

john_snake
() автор топика
Ответ на: комментарий от john_snake

Я на него не гоню в рамках применимости - для системного программирования

Что такое «системное программирование»?

замены для него нет

Как говорять пацанчики на районе: «А если найду?»

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

Системное программирование - это создание интерфейса для прикладного уровня, будь то системное или сетевое API.

john_snake
() автор топика
Ответ на: комментарий от john_snake

Даа, отлично работает. Так работает, что бедрок версия на с++ работает на порядки быстрее.

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

Какую такую прослойку? Мне кажется, ты сепульками слишком густо обмазываешься.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)

Что всё-таки нужно для полного счастья?

Нужно нормально выучить хоть какой-то язык, и применять его только по назначению.

А то сначала плодят «убийц», в потом стыдливо разгребают проблемы, которые в «убитом» были решены испокон веков. То есть пофиксили одно, покалечили другое.

Хватит плодить новые языки.

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

И почему нельзя из жабы дёргать биты в i2c или срать железке прямо в память по pcie?

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

hateyoufeel ★★★★★
()

Я уже говорил как-то - суперязык будущего должен оказаться декларативным. В простом случае что-то вроде смеси sql и xslt. Т.е. описывается формат исходных данных, формат результата. Императивный промежуток компилятор заполняет сам. (Тут конечно описан простейший случай для программы-фильтра.)

atrus ★★★★★
()

А то как ни случись новый язык - так говном поливают и по итогу тонет. Что всё-таки нужно для полного счастья?

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

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

Как запустишь, так и будет работать. И с прослойкой может, если ты vm имеешь в виду, и без прослойки.

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

В макоси, например, драйвера на C++ написаны, чем не системное программирование?

Что мешает использовать так же любой другой язык через биндинги?

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

Поньчую Ponylang. Такой вот статически типизированный Erlang.

Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.

На днях попалось интервью с создателем ejabberd (19.11.2020), а там:

… For example, this month Facebook/WhatsApp are going to release a statically-typed variant of Erlang, and maybe it will be so great that we will consider rewriting ejabberd into it.

Поискал, действительно:

Reddit: WhatsApp just announced a statically-typed Erlang flavour to be open-sourced in November [no further details] (10.09.2020)

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

От того, что напряжение меняется, как-то процесс колебания электронов в проводнике становится иным?

Какие ещё колебания при постоянном токе?

tiinn ★★★★★
()

Как C#, но с возможностью свободных функций(не методов) как в Си и компилетайм переменными хранящими тип как в С++(using/тупедеф)

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