LINUX.ORG.RU

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

Эволюция движется не «самыми красивыми» в теории, а «самыми приспособленными»

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

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

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

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

А сегодня в каждой нише такой зоопарк языков

Мы говорим про языки общего назначения, у которых не обозначена «ниша» как таковая.

Грамотный синтаксис очень сильно влияет на эффективность разработки.

Синтаксис влияет на неё в гораздо меньшей степени, чем все остальные факторы.

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

Ну да. Приклееный соплями, угребищный и полуручной, как и почти всё в Си++.

Не понимаю о чём ты хочешь спорить. Я утверждал, что Д (лично мне) не подходит (в том числе) наличием традиционного ГЦ. А раст такого недостатка лишён. Ты зачем-то сначала цепляешься за какую-то мелочь. А теперь и вовсе хочешь, чтобы я защищал С++?

Ну и раз так, то чем плохи шаред поинтеры и чем раст в этом плане принципиально лучше?

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

Код пишется один раз, читается - десятки и сотни. Мы сейчас говорим именно о чтении, а не о написании.

Ну и пиши тогда «let data: Metadata = ...;».

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

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

typedef? Это, конечно, полезная возможность. Вот только, во первых, по синониму ты, скорее всего, всё равно не поймёшь, что за тип. И в итоге всё равно идти смотреть, чего аноним и боялся. Во вторых, в расте, внезапно, тайпдефы тоже есть.

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

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

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

пример: римская и «арабско/индийская» нотация в записи натуральных.

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

Взлет требует кровавых жертв...

Ничего страшного: от лица ЛОР-а мы с удовольствием положим тебя на алтарь.

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

Ну да. Приклееный соплями, угребищный и полуручной, как и почти всё в Си++.

Не понимаю о чём ты хочешь спорить

Ни о чем. Я просто отметил, что GC - это таки сборка мусора.

Ну и раз так, то чем плохи шаред поинтеры

Сами по себе - ничем, но, если их рассматривать как механизм сборки мусора - они никак не интегрированы в язык.

и чем раст в этом плане принципиально лучше?

Rust в этом плане строго хуже - там просто нет shared_ptr.

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

Уродцы торжествуют чаще.

как php?

Да, и такие, как PHP. Хотя он при всём уродстве, всё же, симпатичнее, чем Rust :)

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

Че за ниша у крестов?

Низкоуровневое (по сегодняшним понятиям) системное программирование.

И какие языки там еще есть?

От Фортрана и Паскаля до D и Go.

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

и чем раст в этом плане принципиально лучше?

Rust в этом плане строго хуже - там просто нет shared_ptr.

Чем std::rc::Rc не shared_ptr?

А его разве не убрали?

Нет.

Тогда Rust ничем не лучше в этом плане (по крайней мере, на первый взгляд).

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

Т.е. инфузории, например, не эволюционируют?

Инфузории имеют понятие красоты? Мне казалось, это явление — продукт высшей нервной деятельности.

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

Конкретно этот - для замены Cи.

Сразу безнадёжно.

Сишечку делали люди, понимающие, что им надо и как этого добиться.

Rust изначально не имеет никакой цели, кроме удовлетворения NIH-синдрома, и спроектирован криво.

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

Сишечку делали люди, понимающие, что им надо и как этого добиться.

Си делали 40 лет назад. Он был неплох для своего времени, но сейчас он устаревшее говно.

спроектирован криво

Кроме мономорфизации, какие претензии?

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

Си делали 40 лет назад. Он был неплох для своего времени, но сейчас он устаревшее говно.

C-устаревшее говно? Серьезно? Это простой, быстрый и надежный язык. Как молоток. То же самое - сказать «молоток - это устаревшее говно».

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

Предлагаешь скатить этот тред к перечислению косяков дизайна Си?

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

Низкоуровневое (по сегодняшним понятиям) системное программирование.

crysis 3 на С++ сделан.

а те кто не могут С++ тормозят в куче мусора.

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

Че за ниша у крестов?

Низкоуровневое (по сегодняшним понятиям) системное программирование.

А теперь перечислим языки для низкоуровневого системного программирования, которые guarantee the absence of data races, buffer overflow, stack overflow or access to uninitialized or deallocated memory.

Я начну: Rust. Дальше?

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

C-устаревшее говно? Серьезно?

Да.

То же самое - сказать «молоток - это устаревшее говно».

Если у тебя склонность к лживым аналогиям, изволь: Си - это каменный топор.

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

Устаревшее говно в твоей черепной коробке. Никто и никогда в здравом уме не будет этим ужасом контроллеры шить.

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

Почему не Си сразу?

Можно и его. Ниша такая же, только методология отличается.

D

Мертв примерно как rust.

Так вопрос про «жизнь» не стоял. Вопрос был о том, кто в этой нише есть.

Go

GC

Это тоже меняет методологию, но не нишу. Никто не мешает писать на Go хоть драйвера :)

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

Устаревшее говно в твоей черепной коробке

Переход на личности считается сливом.

Никто и никогда в здравом уме не будет этим ужасом контроллеры шить.

Ты просто слишком мало знаешь.

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

То же самое - сказать «молоток - это устаревшее говно»

Ну, для многих это вполне актуально. Вместо молотка и гвоздей — гвоздемёты. Вместо молотка и шлямбура — дрель с перфоратором. Вместо молотка и зубила — болгарка. И так далее по списку :) Молоток сегодня уже не столь востребован, как 30 лет назад.

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

Я начну: Rust. Дальше?

Ну, если ты сам придумываешь узкие рамки, описанные вокруг своего примера, то безусловно ты выиграешь :) Только это не имеет отношения к реальности.

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

низкоуровневого системного программирования,

низкоуровневого

guarantee the absence of data races, buffer overflow, stack overflow or access to uninitialized or deallocated memory

это уже не низкоуровневое.

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

Сами по себе - ничем, но, если их рассматривать как механизм сборки мусора - они никак не интегрированы в язык.

А как их надо интегрировать? Если интегрировать «слишком сильно», то мы действительно получим обычную сборку мусора. Да ещё и не самую оптимальную.

Тем не менее, подсчёт ссылок бывает нужен. Вон и авторы раста с этим согласны.

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

Сами по себе - ничем

Не защищают от утечек + требуют медленного и фрагментирующего память аллокатора, не?

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

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

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

Ещё добавь геймдев, тот самый, который старательно обходит Linux стороной. Там у C++ вообще ИМХО вменяемых конкурентов нет, ибо скорость обычно очень нужна и ООП нужен, а также либы на все случаи жизни.

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

Не защищают от утечек + требуют медленного и фрагментирующего память аллокатора, не?

Ну, от утечек и GC не защищает. А фрагментирующий аллокатор... кто доказал, что RC несовместим с компактингом?

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

кто доказал, что RC несовместим с компактингом?

И когда ты компактизировать собрался?

Что заставило тебя подумать, будто я что-то собираюсь? Внимательно прочитай мой вопрос.

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