Почему язык программирования Rust не пользуется популярностью?

Rust заявлял, что заменит С++, почему этого не произошло?

2 симпатии

Об этом много говорили, например:

Rust никогда не заменит C ++. Rust и другие языки, претендующие на то, чтобы убить / заменить C ++, они родились мертвыми.

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

Когда мир начал кодировать, все было на Фортране. В то время покинуть Фортран было просто невозможно. Понадобилась пара гениев, которые создали C, язык, у которого было то преимущество, что было очень легко перевести код Fortran на C. Другим преимуществом C было то, что его компилятор был очень простым, поэтому его реализация на новых машинах была легкой. Поэтому появилось много машин с C, но без Фортрана. Была также создана операционная система Unix, полностью написанная на C.Все это привело к тому, что медленный мир постепенно перешел на C.

Но было еще кое-что: в Simula, Smalltalk и других была очень важная парадигма программирования, которую нельзя было забыть: объектно-ориентированное программирование. В любом случае, как всегда, в то время было невозможно начать с нуля. Было необходимо внести небольшие и прогрессивные изменения в новый язык C, но с учетом парадигмы ООП. Это понял другой гений, Бьярн Страуструп, создавший C с объектами (сегодня C ++).

Эта идея (построить будущее, сохранив прошлое) позволила медленно перейти на новый язык. Этот переход был возможен только потому, что C ++ был полностью совместим с C и включил в себя совершенно новый большой прогресс в области информатики: объектно-ориентированное программирование и универсальное программирование. Даже сегодня, 40 лет спустя, этот переход очень трудный и медленный. C ++ полностью не заменил C и, вероятно, никогда не заменит. Но важный момент: для перехода на новый язык единственная возможная альтернатива - сделать так, чтобы он очень медленно поддерживал прошлое. Никакой насильственный переход невозможен.

В настоящее время C ++ - это непрерывный переход в будущее: Cfront, C ++ 98, C ++ 03, C ++ 11, C ++ 14, C ++ 17, C ++ 20, C ++ 23 и обещанный C ++ 26; все это сохраняет полную совместимость с прошлым. Это и только это - уникальная альтернатива развитию информатики: очень медленный и адаптивный переход.

Если в 1980 году насильственный переход был невозможен, то сегодня, когда написаны миллиарды компьютерных программ, миллионы программистов, тысячи учителей, сотни бесплатных библиотек, сотни веб-страниц с информацией, несколько бесплатных полностью оптимизированных компиляторов C ++ (для всех машин) и активный комитет C ++, который постоянно развивает язык; просто невозможно заставить чистое состояние делать вид, что он снова начинается с нуля.

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

Мой совет: забудьте о Rust и других убийцах C ++, не тратьте зря время и деньги. Если у вас есть новые и интересные идеи, не пишите новый язык, обратитесь к комментам по C ++ и предложите дополнение.

4 симпатии

На самом деле, это предмет дискуссий и ситуация вроде меняется. Достаточно прочитать это:

Помимо безопасных для памяти языков, таких как Kotlin и Java, мы рады сообщить, что Android Open Source Project (AOSP) теперь поддерживает язык программирования Rust для разработки самой ОС.

1 симпатия