mpd

А что же будет с Си?!

Nov 09, 2008 04:50

(написано в ответ на Re: C++ умирает... из предыдущего поста)
1. Я решил скачать openjdk-7-ea-src-b39-06_nov_2008 и посмотреть на некоторые разделы (значимые на мой личный взгляд) кодовой базы в разрезе файлов с расширениями java, h, c, hpp, cpp (такой разрез не говорит обо всём, но он говорит о многом). Вот, что у меня получилось.( Read more... )

plain c, c++, java

Leave a comment

Comments 25

rezdm November 9 2008, 09:37:11 UTC
Что прям0таки дедли нидед
1) В йазыге: Многопоточность на уровне языка
2) В смысле компайлеров: поддержка многопроцессорности-многоядерности

Вцелом это верно для любого современного яп.

Reply

lionet November 9 2008, 10:07:46 UTC
Erlang в помощь, там уже всё есть.

Reply

rezdm November 9 2008, 10:14:56 UTC
И кому он сдался? По сравнению с теми же плюсами или жабой.

Оно всё прекрасно, моет отличный язык, но как-то... Толку в нём какого?

Мне как-то попадалась коммерческая система на связке пролога, обжектив ада и сиквела. Году в 97-98. Собстно всё осталоное как-то в мейнстриме +-. Ну вощем я это к чему. Схема там, лисп, прочая — это всё прекрасно, но реальную коммерческую систему наваять, которая должна развиваться, поддерживаться, общаться с окруающим миром... эт нет уж.

Reply

lionet November 9 2008, 10:18:23 UTC
Amazon.com выкатила SimpleDB - написана на Эрланге
Facebook выкатила facebook chat - написан на Эрланге
Ericsson в своём телекоммуникационном оборудовании использует Эрланг очень широко.

http://lionet.livejournal.com/20916.html

Reply


(The comment has been removed)

Выводы, которых не было. mpd November 11 2008, 14:23:55 UTC
1. Я решил считать кол-во файлов и их объем. Но делать из этого выводы о том, какие из исходников раздуты, а какие - нет, я не стал, т.к. для этого следует просматривать содержимое. На такую акцию у меня нет ни сил, ни времени.
Это же придётся интерпретировать! Может быть, когда-нибудь.
Вообще, это, ещё раз, ответ на утверждение lionet'аJava и так уже написана на Java
Тут вскрытие показало, что Ява действительно отчасти написана на Ява, особенно такая часть, как JDK. Но если рассматривать другую немаловажную часть, как HotSpot, то там явовского кода оказывается с гулькин нос, сишного - тоже мало, а всё сплошь Си++, даже в тех частях, которые касаются платформенно-зависимых особенностей (в JDK только виндузовая часть со значительным кол-вом кода на Си++).
Мне было интересно это исследование проделать, т.к. мой вопрос об умирании Си++ содержал неявное утверждение, что Ява таки написана на Си++, и если последние умирает, надо будет что-то делать, чтобы поддержать вторичный продукт в свежем состоянии ( ... )

Reply

(The comment has been removed)

Re: Выводы, которых не было. mpd November 11 2008, 16:31:36 UTC
Ой, да не за что!
Прошу прощения, что запутал.
Повторюсь, это было написано в несколько возбуждённом состоянии.
Т.к. я в основном специализируюсь на плюсах, Erlang с Haskell'ем не юзал, но оставаться на обочине - не хотелось бы.
А тут уважаемый lionet объясняет, что можно многое упустить, показывает с выкладками...
Ну, я и метнулся проверять, перепроверять, не чуть не сомневаясь в опытности и осведомлённости lionet'а, которому я благодарен этой эмоциональной и информационной встряске (Спасибо!).

Но для себя я делаю выводы, что прям вот всё бросать и бежать изучать Erlang с Haskell'ем - смысла нет. Вот, если бы поработать в команде с людьми (уверен, что истины передаются изустно) над соответствующим проектом - было бы круто.

Reply


secondary_tea February 1 2010, 19:26:01 UTC
Поискал в своей инсталляции GHC. Нашел гнушные cc1 и cc1plus, никакого C--.

Reply

Re: Поискал в своей инсталляции GHC... никакого C--. mpd February 1 2010, 20:48:36 UTC
Признаться, у меня никогда не было и нет инсталляции GHC.
Как и указал в посте, я посмотрел вскользь на их исходники.
Но, конечно, не только исходниками я пользовался, мне ещё и Википедия помогала.
Позволю себе процитировать соответствующую статью английской википедии:GHC is itself written in Haskell (in a technique known as bootstrapping), but the runtime system for Haskell, an essential part of the compiler, is written in C and C--.
....
The back end of the compiler transforms Core code into an internal representation of C--, via an intermediate language STG (short for "Spineless Tagless G-machine"). The C-- code can then take one of two routes: either it is printed directly as C code, or it is converted into native machine code (the traditional "code generation" phase).

Reply


Leave a comment

Up