Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2005-07-29 10:20:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
случай бестолкового военного хай-теха
По поводу этого моего. А вот что в компутерщине соотвествует
subj? Скажем, на примере языков программирования:

Вот есть perl - язык барочный и нафичканый странными функциями, весьма
опасный в обращении, но в реализации не громоздкий и по своему практичный.
Есть ML и его клоны - вещь безусловно
исключительно хайтечная, но очень простая и логичная и легкая.

О! Java - как язык, ничего особенного не представляет, зато при проектировании
ухитрились загробить эффективность на пустом месте, и потом титаническими и крайне
навороченными усилиями эту эффективность вытягивать до приемлемого уровня. Вытянули.
Правда система получилась весьма монструозная. Видимо - это оно.

Впрочем - сам по себе язык - немножко лучше паскаля и существенно хуже ML (ML
был придуман на 10 лет раньше Java). Упомянутые случаи военного хайтека все-таки были
действительно круты. Здесь же, если что и может вызывать восхищение, так именно
успешно осуществленная операция по удалению гланд автогеном и через жопу.


(Добавить комментарий)

C++?
(Анонимно)
2005-07-29 13:28 (ссылка)
У меня такое ощущение возникло от прочитанной (из любопытства) книги тов.Александреску: всякие там трейты, функторы и прочий template metaprogramming.

Еще в телекоме таких примеров навалом, не знаю насколько его можно отнести к "компутерщине".

(Ответить) (Ветвь дискуссии)

Re: C++?
[info]kouzdra
2005-07-29 14:06 (ссылка)
Не - плюсы вещь не хайтечная. Это просто такой сильно навороченный С.
Тулза, в которую 20 лет запихивали всякие разные полезные приспособы.
К тому же - на самом деле оно гораздо проще, чем кажется. Такая, очень прикладная и практичная вещь.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: C++?
[info]polter
2005-07-29 23:27 (ссылка)
а по-моему си++ очень сложный
указатели, безумие с синтиксисом - те же темплейты, неоднозначная часто семантика

если спросить, я даже затруднюсь назвать язык сложнее

главное, конечно, что сложность не соответствует возможностям, мягко говоря

а так вообще - ява, да
и visual basic еще :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: C++?
[info]kouzdra
2005-07-29 23:45 (ссылка)
Ну что до неоднозначности семантики - Perl ему 100 очков форы даст.
Там понять вообще нельзя. Это можно только запомнить.

С++, конечно, не простой, но из мэйнстримных языков он imho лучший.
Дело в том, что возможности у С++ как раз очень большие. У него есть
одна очень ценная вещь - его фичи практичны. То есть если туда что-то
вставили - значит оно решает какую-то достаточно серьезную проблему.

А вот Java - там наворотов тоже много (особенно в 5.0), а вот их полезность более чем сомнительна. Скажем нужность JVM и вообще - замкнутой среды вовсе не очевидна. Часто это создает проблемы, а не решает. Но зато очень сложно.

А так - конечно, я бы предпочел на ML писать (или может на Haskell, если бы у него была приличная реализация). Совсем другие ощущения. Я это и делаю, когда это можно, но можно довольно редко.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: C++?
[info]polter
2005-07-30 03:21 (ссылка)
С++, конечно, не простой, но из мэйнстримных языков он imho лучший.

Не знаю, мне вообще из наследников Си - objective c больше всего нравится. Я правда ничего особо серьезного не делал на нем, да и не особо хочется, но по-моему он гораздо правильнее.


У него есть одна очень ценная вещь - его фичи практичны.

ну мне кажется, любые фичи любого языка в той или иной степени - практичны, иначе это уже не фичи, а баги :)

И проблема с С++ не в том, что у него мало фич, а в том, что они приделаны туда непонятно каким местом и пользоваться ими часто затруднительно.

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

(или может на Haskell, если бы у него была приличная реализация).

а чем ghc не угодил?

(Ответить) (Уровень выше)

Re: C++?
[info]qwerty
2005-07-30 05:38 (ссылка)
По-моему, оно на самом деле гораздо сложнее, чем кажется. Достаточно посмотреть на подампленное из ГЦЦ промежуточное представление и осознать, что оно такое жуткое почти всегда не зря.

(Ответить) (Уровень выше)


[info]kaledin
2005-07-30 02:31 (ссылка)
Ada?

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2005-07-30 03:03 (ссылка)
О! Тоже похоже. Но там есть какой-то размах, что ли. Что-то байроновское. Как и положено языку с таким названием.

"Ада Байрон, графиня Лавлейс, была ребенком от несчастливого брака. Она умерла молодой, но за время своей жизни стоила матери неожиданно больших денег...
Далеко не ясно, какие ихперечисленных атрибутов можно будет применить к истории языка програмиировния Ада, являющегося предметом рассмтрения данной книги"
(с) Н.Джехани "Язык Ада"

PS: А вот это - и правда очень круто. Ада Байрон честно заслужила свое место в истории.

(Ответить) (Уровень выше)


[info]qwerty
2005-07-30 05:49 (ссылка)
http://home.pipeline.com/~hbaker1/sigplannotices/gigo-1997-04.html

....
The American military could not afford to ignore this Soviet software threat. Although the massive post-Sputnik spending to upgrade American education had produced some early success, SAT scores soon peaked and began a sickening decline. Joe Geek might not be able to compete mano-a-mano with Ivan Geek.

US defense contractors were also hopping mad. If the trend of the increasing percentage of software to hardware continued, and the productivity of software people exploded, total system spending would fall precipitously. In order to restore a proper balance, something had to be done to dramatically increase the cost of computer hardware.

After a number of top-secret meetings at the highest levels, the "Ada Project" was conceived. {Rumors persist that the famous gap in the Nixon tapes covered up such a discussion. "We got some agreement that [low] cost and [high] reliability was a problem, but the question was--what could be done... We got the problem passed to ... the Secretary of Defense, which is raising it to the "highest level" in the DoD..." [Whitaker93]} The Ada Project was to be a disinformation campaign of unprecedented scope and duration, involving all of the branches of the military (DARPA jeopardized the cover story by providing only lukewarm support), the President, the Queen of England {[Whitaker93] discloses that the Queen's email name is `EIIR', but gives no domain name; the domain may be royal.gov.uk ("British Royalty Hold Court on the Internet," L.A. Times, March 8, 1997)}, the Congress, and some academics. Its goal was to divert Soviet attention from truly productive computer languages like Lisp, and convince them that only a bloated, grossly inefficient, high order compiled language along the lines of PL/I could be reasonably utilized in the deployment of military embedded systems. The use of a standardized, inefficient language would provide a one-two punch: it would render super-programmers useless, and it would increase the demands on hardware by more than two orders of magnitude.
...

(Ответить) (Уровень выше)


[info]tim
2005-07-30 20:02 (ссылка)
Одним из самых бестолковых языков с которым приходилось сталкиваться - Форт, стековая архитектура унаследованная от научных калькуляторов - ужос однозначно. Но IMHO номером 1 является кошмарное поделие советского периода под названием "Фокал" работавшее на БК001001. Удивительный случай соответствия названия и внутреннего содержания.

(Ответить) (Ветвь дискуссии)


[info]qwerty
2005-08-01 04:49 (ссылка)
Ничего особенно бестолкового в Форте нет - хороший макроассемблер двухстековой виртуальной машины. Имеего в таком качестве его и следует понимать. Я на нем 8 лет программировал, многому за это время научился и даже до сих пор жив. Из Форта произошел полезный Постскрипт. Форт зашит в БИОСы СПАРКов. При этом, конечно, у Форта есть несколько серьезных дефектов (например, слишком велика привязка виртуальной машины к 16-битовой адресации, отсутствие библиотек).

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2005-08-01 10:27 (ссылка)
например, слишком велика привязка виртуальной машины к 16-битовой адресации

Да, ладно, полно, например, 32-битовых фортов. Кстати на форте еще написан (частично) загрузчик от FreeBSD (см. /sys/boot/(ficl|forth)).

(Ответить) (Уровень выше)


[info]tim
2005-08-03 20:02 (ссылка)
Да, но это не делает его хорошим языком програмирования 8-) Машинный язык (ассемблер) хорош в качестве вставок в критичные участки кода, но не более того.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-08-03 20:52 (ссылка)
Хороший язык программирования - это тот, который подходит для решения конкретной задачи конкретным программистом. Вам он по какой-то причине не подошел. Можно ли его из-за назвать бестолковым военным хайтеком?

На хорошем макроассемблере, кстати, очень даже можно писать. Не надо только от него хотеть того, чего он не может. Но смоделировать инфиксную запись с локальными переменными в нем можно. Подмените стандартный интерпретатор ввода на собственный, вернитесь к стандартному при ошибке или скобке конца специального ввода.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tim
2005-08-03 21:11 (ссылка)
/* Хороший язык программирования - это тот, который подходит для решения конкретной задачи конкретным программистом. Вам он по какой-то причине не подошел. Можно ли его из-за назвать бестолковым военным хайтеком?
*/
Полностью согласен, но я не вижу сейчас задач для которых оптимально применять форт. А ассемблер, он будет жив всегда. По крайней мере в рамках нынешнего подхода к разработке процессоров.
P.S. А про то, что можно писать на хорошем макроассемблере, я в курсе, сам писал, правда после 10000 инструкций там и сам автор уже ничего не понимает 8-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-08-03 21:27 (ссылка)
Если вы полностью согласны, зачем же тогда вы же предлагаете зачислить Форт в класс бестолкового военного хайтека?

Насколько я знаю, на Форте до сих пор пишут программы для мелких встроенных процессоров типа i8048 и i8051. На Форте удобно маяться всякими несерьезными языковыми экспериментами - придумывать языковые конструкции, например. Кроме того, фортовские программы переносимы, а виртуальная машина очень компактна. В принципе, можно было бы его с большой пользой применить для смарт-карточек, но мне о таком применении не известно.

(Ответить) (Уровень выше)


[info]kouzdra
2005-08-03 21:58 (ссылка)
Ну почему - от автора зависит. Самая большая моя программа на ассемблере - turbo-pascal-like система для PDP-11. Где-то примерно столько и есть. Или даже побольше. Тысяч 16 наверное. Потери управляемости не было.

В отличие, кстати, от более в общем примитивного TMT Pascal, где несмотря на использование С++ я управление проектом потерял.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tim
2005-08-03 22:25 (ссылка)
Ну тогда снимаю шляпу, и два раза "ку" делаю 8-)

(Ответить) (Уровень выше)