Ок, тогда так:
white list:
Assembly
C
Forth
Lisp(Common Lisp, Scheme)
SQL
ML(SML, Caml, OCaml, F#)
black list:
C++
Java
BASIC(Visual Basic)
PHP
ALGOL(Pascal, Object Pascal, Delphi)
Batch
?:
Ada
APL
Batch
COBOL
COMIT
Clean
D
DCL
ECMAScript
Eiffel
Factor
FP
HyperTalk
JOSS
Lua
Objective-C
SASL
Simula
Perl(awk)
Python
PL
R
Ruby
Today
Scala
sh(bash, tcsh, ksh)
Под вопросом большое кол-во языков.
Возможно, Ada следует записать вместе с Pascal, но что-то очень уж сильно этот язык от него отличается.
Batch записан в black list, так как заменяется более удачным sh.
D находится в состоянии разработки, с ним пока подождем.
смешной список :), нужность или ненужность языка каждый выбирает для себя, а все кто кричат, что с++ не нужен, ява( питон, перл... ) не нужна и т.д. идут в сад, как не способные понять простейшие вещи
> > > почему например, (*func)() и func() -- одно и то же?
> > в С такого не было. Это появилось в С++ для того чтобы в шаблонах можно было использовать указатели на функции в равной мере что и объекты-функторы.
> Думаю, тут ты не прав. Есть какие-нибудь ссылки на историю вопроса?
ну, действительно посмотрел: gcc -std=c89 -pedantic -Wall -Wextra на func_pointer() не жалуется. Но, просто уверен, что исконный K&R C такое не поддерживал.
Во вторых, вспомним, что C++ появился в 83-м году, задолго до С89, так что он мог успеть заразить его.
В третих, элементарная логика: эта фича без шаблонов является тривиальным синтаксическим сахаром, вряд ли заслуживающим упоминания. С шаблонами же она начинает играть важную роль: можно параметризовать шаблон каким-то типом и принять объект этого типа как агрумент -- тогда туда можно передать и объект класса с определенным operator(), и указатель на функцию.
> Во вторых, вспомним, что C++ появился в 83-м году, задолго до С89, так что он мог успеть заразить его.
В те далекие годы шаблонов в Си++ еще не было :)
> элементарная логика: эта фича без шаблонов является тривиальным синтаксическим сахаром, вряд ли заслуживающим упоминания. С шаблонами же она начинает играть важную роль
Всё это относится и к макросам.
Вспоминая далекую юность и общение с Си-компилятором примерно SVR2, я смутно припоминаю, что там уже не было разницы в использовании между указателем и функцией.
А что значит «развивается»? Форт в своём роде совершенен: всё в нём — слово. Виртуальная машина — самая простая и эффективная из всех возможных. Хотя есть компиляторы в «нормальный» машинный вид, мне лично всегда хватало шитого кода. Никакие сборщики мусора не нужны, поскольку его просто нет. Скриптование на форте в крупном проекте — лучше не придумаешь: дополняешь словарь проблемно ориентированными словами, пишешь что угодно.
>Метаязыки - это круто, но почему-то про метапрограммирование обычно принято больше говорить, нежели использовать.
Да потому что много людей пытались выдумывать "хорошие", "красивые" и "правильные" языки. Четко следуя теории о том, как надо.
Однако, НОРМАЛЬНЫЕ, ПРАКТИКУЮЩИЕ программисты всего мира доказали, что их сердцу ближе С и С++. Любой профессионал придет к этим языкам. Если он конечно профессионал. Просто потому что они дают полную свободу. Ты можешь сделать, что хочешь. А все остальные языки ограничивают твою свободу набором библиотек. А метаязыки - на поиграться прикольно. Но в реальной жизни не применимы, в силу сложности реализации на них чего либо. Есть игрушки. И есть практика. Весь ваш white list - почти весь - это игрушки. И black list - это практика.
Теперь я составлю свои white и black lists. Сверяясь с данными о популярности языков, о востребованности и о том на чем пишут NetCracker, Merc Dev, Microsoft, Google, CQG. Короче нормальные, успешные компании. Итак. white list: C, C++, Python, Java, PHP, Perl, C#, SQL, ASM, lua, Visual Basic. Black list: все что не попало в white list, кроме haskel(он под вопросом).
"Не читал, но осуждаю" - берите машину времени, и в 1937-й переселяйтесь, товарищ!
> Про Forth не слышал, как и, думаю, многие. Так что новость не нужна.
> FENix (*) (28.06.2008 19:16:03)
Ей-богу, поинтересуйтесь этим языком, он того стоит. По моему мнению - для embedded systems, где системные ресурсы часто ограничены, Forth - "самое оно".