LINUX.ORG.RU

в каком смысле монстры? если в плане возможностей то ассемблер ;) а если в плане размера получаемой проги то скорее всего делфи и си билдер.

Komintern ★★★★★
()

А что ты имеешь в виду?

Хотя бы положительный смысл или отрицательный?

(ИМХО пересечение перечисленных языков по любым параметрам пусто).

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

Именно монструазность. Сложный синтаксис и семантика &| большой стандарт много нелогичностей исторических но невнятных вещей. ИМХО Common Lisp, Perl и C++ под это подходят, про Кобол я только наслышан точно не могу судить.

CrazyPit ★★★
() автор топика

Монструозность - слушком относительное и расплывчатое определение..

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

ИМХО Кобол и Лисп сюда точно не подходят.

ЦеПП -- лишь относительно.

Главный претендент ИМХО -- Жаба. Ну и ЦеШарп.

PL-1, конечно.

ТеХ, пожалуй (рассматриваемый именно как универсальный язык программирования).

Клиппер?

А, вот -- Мейпл и Математика!

Ферма (http://www.bway.net/~lewis/) -- множество фичей в силу потрясающе кривой реализации изначально относительно стройного синтаксиса. То же про Форм можно сказать (http://www.nikhef.nl/~form/)

Die-Hard ★★★★★
()
Ответ на: комментарий от MiracleMan

> Ферма - это, вроде бы, математик выдающийся был..
               ^^^^^^^^

Шутка, что ли?

(я, кстати, ссылку дал на хоумпэйдж этого языка)

Die-Hard ★★★★★
()

Ну если уж у Лиспа сложный синтаксис и семантика - то к монструозным можно отнести любой язык. Перл тоже не то чтобы монстр, если его применять только там, где нужно (обработка текстов, тулзы для администрирования). Кресты - это да, согласен, что монстр. Про кобол не знаю, не писал на нём.

Так же в монстры однозначно: жабу, цшарп. Хаскелл тоже к монстрам можно отнести, но скорее по возможностям.

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

Самые монструозные, нелогичные и зубодробительные языки на которых мне приходилось кодить это mumps и focal. Программа на них написаная выглядит как mime64 или uuencode. Правила хорошего тона в программировании - чем короче имена переменных, длиннее строки и больше сокращений тем лучше. Операторных скобок нет, локальных переменных нет. Циклы принято реализовывать через goto. Поощряются переходы напрямую на номера строк без меток.

Вобщем если что-то удается скодить и отладить, через две недели проще написать заново, чем разобраться в том что написано даже при наличии комментариев. Пробел не в том месте поставил - программа неработоспособна.

Щас вспоминаю - волосы аж шевелятся.

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

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

как язык ява достаточно прост, в смысле синтаксиса и сематики. С++ значительно сложнее и запутаннее, к примеру. Кроме того плюсы способствуют писанию значительно более нетривиальных и трудно читаемых конструкций, ровно как и перл, например.

Про лисп, а именно про scheme как одну из реализаций --- там как раз синтаксис и семантика очень простая и "компактная". Непривычная по сравнению с си-подобными (плюсы, ява, отчасти перл), но простая. Другое дело что с помощью этой простой семантики наваять можно :)

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

кинь линк на исходник, интересно посмотреть :))

gr_buza ★★★★
()
Ответ на: комментарий от Die-Hard

> Математика!

Зра Вы Математику обидели. :) Очень продуманный язык. Единственный, использующий M-выражения, которые лисперы так и не осилили. =)

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

> чем короче имена переменных...и больше сокращений тем лучше

в том единсвенном интерпретаторе фокала (в БэКашке) длина переменных не воспринималась больше бвух символов -- извиняюсь, когда у тебя 2,5 килобайта на все про все -- не забалуешь

> Поощряются переходы напрямую на номера строк без меток

не было в фокале строк без меток

да и вообще -- ну что ты хотел? его лепили явно левой ногой с оглядкой на фортран и бейсик -- вот уж два достойных подражания предка. да и первый блин как водится

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

> Сложный синтаксис и семантика

У C++? У Perl? Сложный синтаксис и семантика? А вы на чём пишете, простите? На turtle graphic system?

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

и у того и у другого

просто ты привык к Си-лайк убожеству

anonymous
()

Плюсы моструозны однозначно. Лисп - возможно, т.к. схему создали насколько я помню именно из-за разросшегося стандарта лиспа (более 1000 страниц). Ада - огромный стандарт, встроенная многопоточность, собственная распределенная система и т.д., зато удобно =)

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

>плюсы способствуют писанию значительно более нетривиальных и трудно читаемых конструкций, ровно как и перл

На каком языке невозможно написать нетривиальную и трудночитаемую конструкцию?

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

Тогда что ты понимаешь под сложными синтаксисом и семантикой?
По-моему S-выражения - это очень просто
И синтаксис у lisp'а очень лаконичный
В отличии от

Fedor ★★★
()

brainfuck и whitespace (спасибо Шаману, который открыл для меня прелести этого замечательного языка!)

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

> На каком языке невозможно написать нетривиальную и трудночитаемую конструкцию?

Я бы лучше спросил, на каком языке возможно не писать нетривиальные и трудночитаемые конструкции? Перл и C++ _заставляют_ это делать.

ero-sennin ★★
()
Ответ на: комментарий от CrazyPit

Common Lisp - ну очень незамысловатое синтаксис и семантика. Самые незамысловатые из всех чё мне ведомы наверное. Самый гнусный ИМХО С#: совершенно безсмысленное нагромождение костылей и подпорок, и ни одной светлой мысли. Ещё С++ в реализации мелкосовта, тож не подарок хоть и получе. Паскаль от Борланда, который внутре делфей. Думаю так про Perl, но точно не знаю, это наречие мне мало знакомо.

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

>Я хоть слово сказал против лиспа?

Может быть и нет
Моё возражение можно понять так - "Да неужели у С++ простой синтаксис? И простая семантика?"

Fedor ★★★
()
Ответ на: комментарий от ero-sennin

ну не знаю, почему-то у меня все нормально и читаемо выходит.

что я не так делаю?

З.Ы. другое дело, что он позволяет писать такие программы, но не заставляет же...

gr_buza ★★★★
()
Ответ на: комментарий от ero-sennin

> нетривиальные и трудночитаемые конструкции? Перл и C++ _заставляют_ это делать.

Можно пример, когда С++ заставляет? При желании конечно можно, но ИМХО для этово нужно напрягаться.

bugmaker ★★★★☆
()

Почему-то Фортран до сих пор не вспомнили.
Приходилось иногда искать глюки в чужом древнем коде -
ой, мама дорогая!

C*MODULE RHFUHF  *DECK DEMHF
      SUBROUTINE DEMHF(IW,DBG,EHF,EN,FAO,FMO,FSAVE,EIG,OCC,IA,SCR,
     *                 IWRK,VEC,V0,D,H1,S,SMO,BUF,IBUF,L0,L1,L2,L3,
     *                 NOCC,NINTMX,NUMDEM,NOPK)
C
      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
C
      LOGICAL DBG,GOPARR,DSKWRK,MASWRK
C
      PARAMETER (MAXDEM=8)
C
      DIMENSION ETAU(MAXDEM),XTAU(MAXDEM),TAUTAB(MAXDEM)
      DIMENSION FAO(L2),FMO(L2),FSAVE(L2),EIG(L1),OCC(L1),IA(L1),
     *          SCR(L1,8),IWRK(L1),VEC(L3),V0(L3),D(L2),H1(L2),
     *          S(L2),SMO(L3),BUF(NINTMX),IBUF(NINTMX)
C
      COMMON /PAR   / ME,MASTER,NPROC,IBTYP,IPTIM,GOPARR,DSKWRK,MASWRK
C
      PARAMETER (ZERO=0.0D+00, ONE=1.0D+00)
C
      SAVE ETAU,XTAU
C
      DATA TAUTAB/0.00D+00, 0.25D+00, 0.50D+00, 1.00D+00, 1.50D+00,
     *            2.50D+00, 4.00D+00, 6.00D+00/
      KT=1
      XTAU(KT)=ZERO
      ETAU(KT)=EHF+EN
      IF(DBG) WRITE(IW,9010) KT,XTAU(KT),ETAU(KT)
C
      SIGN = ONE
      KT0=2
  100 CONTINUE
C
      DO 200 KT=KT0,MAXDEM
         TAU = SIGN * TAUTAB(KT)
         CALL DEMRHF(TAU,ESCF,FMO,V0,IA,OCC,H1,NOCC,L0,L1,L2,L3,
     *               FAO,FSAVE,EIG,SCR,IWRK,VEC,D,S,SMO,
     *               BUF,IBUF,NINTMX,NOPK)
         XTAU(KT)=TAU
         ETAU(KT)=ESCF+EN
         IF(DBG) WRITE(IW,9010) KT,XTAU(KT),ETAU(KT)
         IF(ETAU(KT).GT.ETAU(KT-1)) GO TO 300
  200 CONTINUE
<...>

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

ИМХО это другое совсем. Всяки васик и фортранприводят к карявым прогам именно из-за скудности и примитивности этих наречий.

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

Если простота синтаксиса это количество синтаксических элементов, то brainfuck впереди планеты всей.

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

Понятия не инею. Для меня синтаксис Perl, C, C++, Java и Lisp - простой. Синтаксис бейсика - простой. Turtle graphic - простой. Ассемблера - простой. Хотя нет, вру. Синтаксис асма для меня не вполне очевиден, там есть требования к структуре программы... Prolog - синтаксис очень простой.

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

Как раз в ассемблере синтаксис элементарный
Тут ты, видимо, путаешь его с симантикой
Ок

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

> Perl :-D

Ну хорошо, как можно переписать хотя бы такое:
while (<>){
      while ( /(.*?<!--)(.[^-]*)(.*$)/){
          print $2."\n";
          $_=$3;
      }
}

Так, чтоб было понятно с первого взгляда?

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

Тут из "сложного" - только регулярное выражение. У вас есть варианты другого синтаксиса для регулярных выражений?

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

>прога выдергивает комментарии из HTML-файлов :))

Правда криво.

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

> Ну если уж у Лиспа сложный синтаксис и семантика - то к монструозным можно отнести любой язык.

Не в случаел лиспа синтаксис - убираем. Но я имел ввиду не лисп вообще а коммон лисп, в стандарте встроено несколько сложных DSL, огромное > 1000 количество стандартных функций и макросов и.т.д.

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

> У C++? У Perl? Сложный синтаксис и семантика? А вы на чём пишете, простите? На turtle graphic system?

Python, Ruby, Schema, Haskell на порядок логичней.

Взять хотябы перловый контекст, например очень логично что 5 > @a возьмёться размерность @a, да?

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

> На каком языке невозможно написать нетривиальную и трудночитаемую конструкцию?

На любом, но есть языки, которые поощеряют чистый код, которые нет и которые наооборот способствуют грязному коду (хотя конечно это уже личные эротические проблемы разработчика если он поддаётся на такие провакации).

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

> У вас есть варианты другого синтаксиса для регулярных выражений?

А нафига из регулярных выражений пытаться сделать полноценный парсер? :P

#!/usr/bin/env python
from sys import stdin
from pyparsing import Literal, SkipTo

comment = Literal('<!--').suppress() + SkipTo('-->')
for s in comment.scanString(stdin.read()):
    print s[0][0]

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

> Ну хорошо, как можно переписать хотя бы такое:

while (<>){
      while ( /(.*?<!--)(.[^-]*)(.*$)/){
          print $2."\n";
          $_=$3;
      }
}

Да без б.

while ($line = <STDIN>){
      while ($line =~ m{
                        (.*?<!--) # Before comment
                        (.[^-]*) # Body
                        (.*$)/) # After comment to end of line
                       }x
{
          ($body, $after) = ($2, $3);
          print $body."\n";
          $line = $after;
      }
}

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

Несчитово! :) Если комментариев после каждой строчки натыкать, то любой код станет понятнее. И m{}x немногим лучше, чем //. А главное, семантика так и осталась излишне императивной и бейсикоподобной.

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

>А нафига из регулярных выражений пытаться сделать полноценный парсер?

Почему пытаться?

>comment = Literal('<!--').suppress() + SkipTo('-->')

А если что посложнее?

Xellos ★★★★★
()
Ответ на: комментарий от ero-sennin

> А главное, семантика так и осталась излишне императивной и бейсикоподобной.

Да ладно, сейчас пойду читать Higher-Order Perl, потом поговорим на эту тему:)

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

Вот именно. Девиз Ларри - мы не ставим решётки на окнах потому, что здравомыслящйи человек будет ходить в дом через дверь. А если он нездравомыслящий - так он и черепахой порнографию нарисует...

Xellos ★★★★★
()
Ответ на: комментарий от ero-sennin

>семантика так и осталась излишне императивной и бейсикоподобной

Во-первых, мне понравилось определение "излищняя". Во-вторых - "бейсикоподобная". А обосновать?

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

А пока можно почитать perldoc List::Util

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