LINUX.ORG.RU
Ответ на: комментарий от kristall

>Поддерживаю. К нужным добавить Haskell.

+Erlang, +Tcl

"С" - сомнительно... разве что из-за того, что на нём уже куча всего написано и переписывать это нет смысла...

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

>"С" - сомнительно...

Как кроссплатформенный ассемблер он незаменим, так что нужен. То есть нужен он для системного программирования: написание ядра/микроядра операционки + написание утилит вроде cat, tee, rm + написание виртуальных машин и прочего подобного.

CAPTCHA: winked ;)

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

Значит так:
white list:
Assembly
C
Forth
Lisp(Common Lisp, Scheme)
SQL

кандидаты в white list:
ML(SML, Caml, OCaml, F#)
Haskell
Prolog(Erlang)

black list:
C++
Java
BASIC
PHP
ALGOL(Pascal, Object Pascal, Delphi)

Кто что может сказать насчет Ada, Perl(Python, Ruby) и Fortran? 

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

Да и на C++ кстати много написано, но это не мешает ему быть не нужным. На C и сейчас много интересного пишется, а на C++ только поддерживается legacy и пишется всякая прикладная ерунда.

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

>на чём же тогда сайты писать будем, мой анонимный брат?

На uncommon web с лиспом.

Ну на питоне в крайнем случае.

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

А все-таки луговский был прав на все 100% про абсолютную ненужность С++ и абсолютное превосходство Лиспа в интегральных характеристиках.

Простой курс в историю: как известно, лучший софт был написан в 50-60х годах, когда писали люди с докторскими степенями, когда куски кода пересылали друг другу по почте и месяцами проверяли и оптимизировали. Какие языки тогда были? Правильно Фортран и Лисп (ну и асм с машинными кодами естесно, которые потом были заменены на Си), а потом пришло всякое быдло и придумали всякие быдлоязыки.

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

Луговский всегда прав. Даже когда ты думаешь что он неправ - он прав. Даже когда сам Луговский думает что он неправ - он прав.

ЗЫ. Если углубиться в историю, то можно много чего узнать.

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

>Как кроссплатформенный ассемблер он незаменим, так что нужен.

в принципе в Си есть зачаточные фичи метанопрограммирования, правда синтаксиса много. Атомы, символы, функции/формы, списки благодаря прозрачному ABI отображаются на типы/переменные, указатели, указатели на функции ( почему например, (*func)() и func() -- одно и то же?) и функции с переменным числом параметров (список -- в стеке).

Другое дело, что типизация статическая, и если кому нужна динамическая -- все изобретают свой рантайм, как в Objective C. Сахару мало, функций-макросов, вызываемых во время компиляции (типа #line, emit()..) -- толком нет, так что метанопрограммирование зачаточное, нерасширяемо в рамках самого языка и все тащат свой препроцессор.

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

C - это С. Нормальная, человеческая замена ассемблеру. На нем делают то что должно работать быстро и переносимо. Были, конечно уроды делавшие ООП ассемблер. Скажите - нафига оно надо. Языков может быть много, очень много. Но если у них есть возможность легко и просто подключать С-либы - у них будет будущее.

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

>TCL, Python -- в белый список :)

Зачем Python? Python - для неасиливших Tcl, других "преимуществ" у него нет.

>Lua -- кандидат.

Lua давно уже не кандитат, а практически единственный скриптовый язык для embedded, там, где даже Tcl избыточен.

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

>на чём же тогда сайты писать будем, мой анонимный брат?

Простое что-то - на CGI. А там хоть C, хоть Perl, хоть еще что. Посложнее - на JSP. А большие проекты на Ruby, Lisp и прочем подобном.

У PHP жуткие проблемы с приведением типов.

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

>TCL, Python -- в белый список :)

>Lua -- кандидат.

Python слишком уж молодой и вроде бы вполне заменимый на данный момент(Perl, Ruby), а вот TCL внесем в кандидаты.

Lua можно попытаться заменить Scheme или ECMAScriptом.

white list: Assembly C Forth Lisp(Common Lisp, Scheme) SQL ML(SML, Caml, OCaml, F#)

кандидаты в white list: TCL Fortran Haskell Prolog(Erlang)

black list: C++ Java BASIC(Visual Basic) PHP ALGOL(Pascal, Object Pascal, Delphi)

Стоит ли COBOL вносить в black list?

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

> почему например, (*func)() и func() -- одно и то же?

в С такого не было. Это появилось в С++ для того чтобы в шаблонах можно было использовать указатели на функции в равной мере что и объекты-функторы.

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

Ок, тогда так:

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 находится в состоянии разработки, с ним пока подождем.

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

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

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

> лучший софт был написан в 50-60х годах, когда писали люди с докторскими степенями

Бугага! google://software crisis

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

>> почему например, (*func)() и func() -- одно и то же?

> в С такого не было. Это появилось в С++ для того чтобы в шаблонах можно было использовать указатели на функции в равной мере что и объекты-функторы.

Думаю, тут ты не прав. Есть какие-нибудь ссылки на историю вопроса?

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

> > > почему например, (*func)() и func() -- одно и то же?

> > в С такого не было. Это появилось в С++ для того чтобы в шаблонах можно было использовать указатели на функции в равной мере что и объекты-функторы.

> Думаю, тут ты не прав. Есть какие-нибудь ссылки на историю вопроса?

ну, действительно посмотрел: gcc -std=c89 -pedantic -Wall -Wextra на func_pointer() не жалуется. Но, просто уверен, что исконный K&R C такое не поддерживал.

Во вторых, вспомним, что C++ появился в 83-м году, задолго до С89, так что он мог успеть заразить его.

В третих, элементарная логика: эта фича без шаблонов является тривиальным синтаксическим сахаром, вряд ли заслуживающим упоминания. С шаблонами же она начинает играть важную роль: можно параметризовать шаблон каким-то типом и принять объект этого типа как агрумент -- тогда туда можно передать и объект класса с определенным operator(), и указатель на функцию.

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

> Во вторых, вспомним, что C++ появился в 83-м году, задолго до С89, так что он мог успеть заразить его.

В те далекие годы шаблонов в Си++ еще не было :)

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

Всё это относится и к макросам.

Вспоминая далекую юность и общение с Си-компилятором примерно SVR2, я смутно припоминаю, что там уже не было разницы в использовании между указателем и функцией.

Доберусь до работы - поищу старые справочники.

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

> Ada и Python в кандидаты, Smalltalk в белый список, D в чёрный.

Если следовать логике анонимуса ("Batch записан в black list, так как заменяется более удачным sh."), то D в whitelist, С - в blacklist. :P

ИМХО фигнёй страдаете.

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

> Python - для неасиливших Tcl, других "преимуществ" у него нет.

очередной "полиглот", мля. деноминирует язык до уровня tcl, ну, и, само-собой, утверждает, что он не нужен, так ка есть tcl.

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

В блэк лист однозначно python. Perl - под вопросом.

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