Как вы думаете, какой ЯП имеет более всего концепций и финтифлюшек? Не говорим о применимости и тормознутости.
Может показаться что С++. С++ уже тянет лямку с 1983 года — как и я — и там много всякого накопилось. Но сама среда не позволяет сделать так уж много — нет даже полноценной рефлексии.
В то время как C#, который тянет лямку с 2000 года, вобрал в себя очень много концепций. Чего стоят деревья выражений с компил-тайм поддержкой Остальные новомодные языки так не умеют.
Хотя, может быть первенство стоит отдать Haskell или какому-нибудь Coq?
Здравствуйте, Shmj, Вы писали:
S>Может показаться что С++. С++ уже тянет лямку с 1983 года — как и я — и там много всякого накопилось.
Для себя я считаю основным стандартом C++ 2003. А до C++ 1998 его вообще нет смысла расматривать. Считай всё что сейчас видишь в C++ пошло с 1998 стандарта.
S>В то время как C#, который тянет лямку с 2000 года, вобрал в себя очень много концепций.
Множественное наследование? Вот ты думаешь языки программирования пошли по пути наращивания фич, но они некоторые из уже существующих просто убрали.
А ты знаешь, что в C++ можно написать собственный аллокатор памяти. Операторы ведь переопределяются.
А дальше создавай сборку мусора или что-там тебе нужно. Для этого не нужно создавать новый язык. И для параллельных вычислений не нужен новый язык.
Я считаю, что вместо создания библиотек алгоритмов люди бегут создавать языки программирования. Смысла в этом на мой взгляд нет.
И основная проблема не в языке программирования, а в английском языке на котором думал автор программы.
Я примерно представляю как решить эту и ещё несколько ключевых проблем и для этого не нужно создавать новый язык программирования.
Более того возможно нужно отбросить толерастию и стать идеологом. Крупные компании не стесняются ругать чужие решения продвигая свои.
Ответом им может быть бескомпромиссное продвижение "правильных" технологий. В частности обучение новичков и профессионалов.
А вот для "неправильных" технологий не делать ничего. Пусть крупные компании которые их создали их и продвигают.
Кстати, C и C++ тоже вышли из одной и той же крупной компании. Просто у них была другая цель создания языка.
Здравствуйте, velkin, Вы писали:
V>А дальше создавай сборку мусора или что-там тебе нужно. Для этого не нужно создавать новый язык. И для параллельных вычислений не нужен новый язык.
Немного про сборку мусора в С++: её как не было, так и не будет в обозримом будущем. И, скорее всего, библиотеками тоже этого так просто не добиться.
В целом, в современных языках, как мне видится, есть два основных тренда, которые пытаются решить придумав другие языки: простота и безопасность. При этом теряется производительность и выразительность. У С++, очевидно, два первых отсутствуют, но есть два вторых. Для удобной посадки сразу на три стула стали придумывать Rust, простым его сделать не удалось, но и с производительного стула он немного съезжает.
Что ещё делают? Делают генераторы кода на С/С++, например HipHop for PHP в Facebook, не знаю, жив ли он ещё. Хороший вариант, мне нравится.
Здравствуйте, Shmj, Вы писали:
S>Как вы думаете, какой ЯП имеет более всего концепций и финтифлюшек? Не говорим о применимости и тормознутости.
S>Может показаться что С++. С++ уже тянет лямку с 1983 года — как и я — и там много всякого накопилось. Но сама среда не позволяет сделать так уж много — нет даже полноценной рефлексии.
S>В то время как C#, который тянет лямку с 2000 года, вобрал в себя очень много концепций. Чего стоят деревья выражений с компил-тайм поддержкой Остальные новомодные языки так не умеют.
S>Хотя, может быть первенство стоит отдать Haskell или какому-нибудь Coq?
S>Ваше мнение.
По номинальному количеству возможностей языка C# превосходит все. Но количество не всегда означает качество. Плюс язык с развитым метапрограммированием по выразительности вполне может превосходить языки без оного, даже с мменьшим количеством фич самого языка.
Здравствуйте, Nuzhny, Вы писали:
N> Немного про сборку мусора в С++: её как не было, так и не будет в обозримом будущем. И, скорее всего, библиотеками тоже этого так просто не добиться.
S>Хотя, может быть первенство стоит отдать Haskell или какому-нибудь Coq?
Haskell — один из самых простых и элегантных языков. Просто его (или хотя бы Erlang) нужно преподавать в начальной школе, когда еще мозг будущего программиста не загажен всей историей развития программирования (по аналогии с развитием эмбриона, который проходит стадии от личинки через лягушку до человека).