LINUX.ORG.RU

Старт пятничного треда

 , , ,


1

6

Привет, ЛОР!

Сегодня видел статью на Хабре про D и кросс-платформенный GUI для него. Аналогичную статью не так давно видел для Go. Думаю скоро и для Rust что-то будет «взлетать» из нужных батареек (да, для меня GUI нужен, а Qt я не люблю). Возник вопрос - что-то из них взлетит или нет, какой язык какую нишу сейчас занимает, какую нишу какой язык может занять.

Еще вопрос к любителям D - в чем его профиты? Я так и не увидел, чем он лучше Go, Rust.

★★

Последнее исправление: silver-bullet-bfg (всего исправлений: 1)

Ответ на: комментарий от Legioner

Ну а D это D. По названию понятно. Следующий язык после C++.

Если бы он еще был детищем Bell labs, как C и C++...

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

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

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

Говорю как «плюсовик». Хотел бы как можно больше константности/«эксплиситности» по умолчанию.

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

но конечно, всякая задача требует своего подхода, и возможно, где-то константность по-умолчанию может и пригодиться

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

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

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

С чего вдруг они становятся переменными? Такие константы инициализируются при старте и/или перечитывания конфига. Но в программе не меняются в дальнейшем.

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

Возможно, ты просто быдлокодер. Подумай об этом.

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

В «обычной» математике тоже переменные. А изменения состояния нет.

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

D - замена java

Нет. Он позиционировался, как замена C++. Не получилось.

Go - замена C

Нет. Это совершенно разные ниши. Go создавался для быстрой разработки производительного, конкурентного серверсайда. Это замена java, а так же питонов и прочих руби. Пока вроде получается, хотя и медленно. Да, на C и C++ такой софт так же пишется, но его берут для совсем тяжёлых проектов, где нужна нативность, работа с памятью, с низкоуровневыми плюшками ОС и т.п. Go тут не сможет заменить их. Сборка мусора, высокая степень использования рантаймовских штук(из-за простоты языка в динамике делается то, что можно сделать в статике).

Rust - C++

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

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

Ну, если D не взлетел, то и Rust не взлетит. Потому, что на D уже написано около 100 библиотек и 20 постоянно развивается, а на Rust вообще ничего нет, и видно, что сообществу язык совсем не интересен - ничего не пишут на нём.

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

Ну, если D не взлетел, то и Rust не взлетит.

Совсем дурачок что ли?

Потому, что на D уже написано около 100 библиотек

С учётом того, что этому говну больше 8 лет, это просто охренеть какой прогресс и достижение.

на Rust вообще ничего нет

Во-первых, это ложь (см. ссылку выше + Servo). А во-вторых, язык на данный момент всё ещё в альфе.

mix_mix ★★★★★
()
Ответ на: Вброшу свежак от anonymous

прочитал по-диагонали. если я правильно понял, там впаривают, что haskel круче C?

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

Бредишь. Как всегда. Яблофагам просьба уйти из топика. Тут люди пытаются о программировании поговорить. Вы о нем ничего не знаете, а анальная смазка тут ни при чем.

silver-bullet-bfg ★★
() автор топика
Ответ на: комментарий от menangen

Ну, если D не взлетел, то и Rust не взлетит.

Вангой устроился? Найти промышленное применение Rust проще, чем найти промышленное применение любому яблодевайсу. Да, они настолько никому не нужны.

Потому, что на D уже написано около 100 библиотек и 20 постоянно развивается, а на Rust вообще ничего нет, и видно, что сообществу язык совсем не интересен - ничего не пишут на нём.

Дальше то что? D уже за дцать лет, а «ржавчина» еще даже в файнал-релиз не вышла. С логикой у яблофагов всегда плохо было. Мозг отбит. Ну да ладно. Ты лучше бы ответил на те посты, где тебе показали то, что ты не знаешь даже назначения языков.

silver-bullet-bfg ★★
() автор топика
Ответ на: комментарий от next_time

Вот я и говорю, что вы путаете то, как есть, с тем как надо. Когда-то все повально использовали goto. Но Деикстра объяснил почему это плохо, и его использовать стали ограниченно и по делу.

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

В любом нормальном коде большинство переменных не изменяются

Э... А зачем они тогда нужны? :)

1. Чтобы хранить ранее вычисленное значение.

2. Чтобы улучшать читабельность программ.

Может термин «переменная» тут не совсем уместен, но он общепринят. «Постоянная» не говорят, а под «константой» обычно подразумевают константу времени компиляции. Можно сказать «binding», общепринятого русского аналога я не знаю.

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

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

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

Когда-то все повально использовали goto. Но Деикстра объяснил почему это плохо, и его использовать стали ограниченно и по делу.

в нормальных проектах goto использовали ограниченно и по делу всегда

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

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

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

ну взгляните на сишный код программы до высказывания Дейкстры

До «высказывания Дейкстры» Си просто не существовало. И несколько лет после - тоже.

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

ну взгляните на сишный код программы до высказывания Дейкстры

До «высказывания Дейкстры» Си просто не существовало.

именно

То есть ты хотел, чтобы я взглянул на несуществующий код? В который раз убеждаюсь, что ты упорот.

в те времена языки программирования только развивались.

Да? Совсем недавно кто-то говорил «ограниченно и по делу всегда».

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

То есть ты хотел, чтобы я взглянул на несуществующий код?

нет. я именно намекал на его несуществование.

Да? Совсем недавно кто-то говорил «ограниченно и по делу всегда».

ага, «в нормальных проектах». а их тогда, в современном понимании, почти не было: языки программирования ещё не развились. а программированием, зачастую, занимались бывшие инженеры-электронщики.

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

я именно намекал на его несуществование.

Да ты философ:

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

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

ага, «в нормальных проектах». а их тогда, в современном понимании

Продолжай вилять, чо.

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

То есть сравнить две несуществующие программы и увидеть отсутствие разницы.

0 и 0 вполне сравнимы.

Продолжай вилять, чо.

это же к вам относится.

я вам скажу более того, вы придрались к мелочам, но не увидели главного: даже если бы язык С тогда и существовал, это не имеет никакого значения. заменив его любым другим языком, вы всё равно не сможете показать мне код какого-либо проекта, с изменениями до и после высказывания Дейкстры. просто потому, что таких проектов вы видеть не могли (они, в основном, не сохранились). а раз так, высказывание «Когда-то все повально использовали goto. Но Деикстра объяснил почему это плохо, и его использовать стали ограниченно и по делу.» является демагогией.

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

То есть сравнить две несуществующие программы и увидеть отсутствие разницы.

0 и 0 вполне сравнимы.

Несуществующая программа - это undefined value, их сравнение бессмысленно.

высказывание «Когда-то все повально использовали goto. Но Деикстра объяснил почему это плохо, и его использовать стали ограниченно и по делу.» является демагогией.

Если ты понял это высказывание «все сразу стали использовать goto ограниченно и по делу» - это твои проблемы. А вокруг статьи Дейкстры ломали копья до середины 70-х.

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

Несуществующая программа - это undefined value

это nullptr

вокруг статьи Дейкстры ломали копья до середины 70-х.

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

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

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

Скажи это разработчикам драйверов и встраиваемых систем. Си - кросплатформенный ассемблер. Им и остался. А если скриптоту пытаетесь на нем писать (или малофункциональный софт для юзерспейса), то скорее надо задуматься о вменяемости

silver-bullet-bfg ★★
() автор топика
Ответ на: комментарий от silver-bullet-bfg

Скажи это разработчикам драйверов и встраиваемых систем.

Я сам разработчик драйверов и встроенных систем.

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

а есть мысли по поводу того почему за те самые «30-40 лет» не появилось ничего «хорошего»?

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

Тут люди пытаются о программировании поговорить.

люди тут занимаются метальным онанизмом, пытаясь строить из неоВанг. Чо гадать то? Бери и пиши. В любом случае перейти будет гораздо проще, чем кидаться из стороны в сторону, потыкать всего помаленьку и освоить в результате них.я, а потом плакаться на форумах о том какой же этот «языка имя вставить» говёный язык и не развивается, и вообще загнулся.

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

а есть мысли по поводу того почему за те самые «30-40 лет» не появилось ничего «хорошего»?

Почему «ничего»? Была Modula-2, были исследовательские языки (Cyclon, из которого вырос Rust). Но кто первый встал, того и тапки. Если добавить к этом крайне консервативное (а иногда тупо невежественное) сообщество, получаем царствование Си в почти неизменном виде уже лет 30.

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

были исследовательские языки
исследовательские

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

Если добавить к этом крайне консервативное (а иногда тупо невежественное) сообщество

Вроде тебя, да? ты даже тут на форуме уже около 10 лет из стороны в сторону кидаешься, все никак не найдешь серебряную пулю. то питон, то руст, ... что там еще было? А меньше бы скулил и ныл, может хоть что-то бы нормально уже осилил выучить.

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

исследовательские

поэтому и не взлетели. Никому не хочется заниматься академической дрочью.

Чушь.

Промышленность требовала результатов

Та же Modula-2 их давала.

Если добавить к этом крайне консервативное (а иногда тупо невежественное) сообщество

Вроде тебя, да?

Нет. Вроде недоучек, которые сочли typeof недостаточно полезным для включения в стандарт. Такие все из себя промышленные программисты, которым надо кодить, а не дрочью заниматься.

то питон, то руст, ... что там еще было? А меньше бы скулил и ныл, может хоть что-то бы нормально уже осилил выучить.

А вот и телепаты подтянулись.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

согласен, но нельзя же списывать всё только на невежественность и консерватизм. реальные преимущества, а не абстрактная красота или «правильность» неизбежно привели бы к вытеснению. в итоге - не вытеснили. по логике «кто раньше встал» мы на асме должны писать, ну или на фортране.

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

Чушь.

Что чушь? Что нужно было развивать сети, оборонку, искать подлодки противника по снимкам, делать управление конвеерами, а не придумывать новые системы с нескучными типами/принципами?

Та же Modula-2 их давала.

Модула-2 не взлетела по вполне объективным причинам, но тебе этого «знать не обязательно», главное выкрикнуть что, а потом назвать всех невежественными идиотами и слиться со словами «ПНХ».

А вот и телепаты подтянулись.

Какие телепаты? я тут дольше тебя. Ты постоянно ноешь. ТО, тебе г-но, это г-но, все вокруг невежественные п..сы, один ТГ д'Артаньян.

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

согласен, но нельзя же списывать всё только на невежественность и консерватизм

Ну а на что еще списать отсутствие typeof, statement expressions, compound literals...

по логике «кто раньше встал» мы на асме должны писать, ну или на фортране.

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

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

Что нужно было развивать сети, оборонку, искать подлодки противника по снимкам, делать управление конвеерами а не придумывать новые системы с нескучными типами/принципами?

Да-да, все разработчики языков искали подлодки.

А вот и телепаты подтянулись.

Какие телепаты?

Анонимные.

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