компилируемый - жестко привязан к платформе, интепретируемый - к исполнительному ядру, который может быть любым. Хоть окна рисовать. Ява не компилируема, ей нужна виртуальная машина(JVM). Говорить о компилируемых в качестве межплатформенных - толку особого нет...
а ещё лучше, чтобы компилятор сразу мысли читал. или даже не, следил бы за пользователем, подмечал бы его потребности и тут же писал бы соответствующую программу.
Вы все-таки разберитесь, о чем рассуждаете. О правильной сути языка будущего (часть про контексты, абстрагирование от асма и т.п.) Или о синтаксисе его исходного кода. Мешать эти вещи с самого начала, имхо, не верно.
так, продолжим... приоритеты операторов. придуманы они для того, чтобы не писать кучу круглых скобочек. бесусловно, в некоторых случаях экономия есть, но как показывает практика то и дело всё-равно нужно менять приоритеты с помощью круглых скобочек, а варианты типа 1*2 + 3*4 практически не востребованы. то есть пользы от приоритетов мало, а вот вред есть и он довольно существенный - приходится зазубривать довольно большую таблицу приоритетов, которая так и наровит выветриться из памяти. могу поспорить, многие, как и я, не знает её наизусть и во многих случаях ставят скобки на всякий случай, даже там, де в них нет необходимости. получается, что правила, призванные облегчить жизнь, только лишь её усложнили. я предлагаю отказаться от приоритетов и исполнять операторы в порядке их следования. хоть на скобочках и не сэкономим, зато получим простое и чёткое правило, в какой последовательности операторы будут обработаны.
один из самых простых и раскрученных паттернов является синглетон. на современных языках его можно реализовать исключительно через задницу. почему? да потому, что они не позволяют перегрузить оператор инстанцирования - new. в труъ языке перегрузке должны быть доступны все операторы!
в труъ языке должен быть и труъ ооп, а это значит, что всё должно быть объектами: числа, строки, массивы. при этом каждому объекту можно послать сообщение и принять ответ. например: var1: 'any string' uppercase расшифровка: 1. создаётся переменная var1 2. создаётся строка 'any string' 3. строке передаётся сообщение 'uppercase', на что она реагирует переводом всех символов в верхний регистр 4. переменной var1 присваивается полученное значение
dark-demon Мсье никогда не писал сложных условий? Я против отмены приоритетов, если во всех языках они есть, а в одном их не будет, это будет гвоздем в гробу проекта. Никто не захочет переучиваться, а тем кто что-то недочитает в мануале, обеспечена масса трудноуловимых ошибок.
antonn, расскажи это создателям яваскрипта, явы, питона и многих других языков согласить, гораздо удобнее и нагляднее написать str.length, а не strlen( str ) или даже String::getLength( str ) > Мсье никогда не писал сложных условий? приведи пример реального сложного условия, где от приоритетов был бы толк. > Никто не захочет переучиваться синтаксис не должен зависеть от того, что кому-то лень переучиваться. > а тем кто что-то недочитает в мануале, обеспечена масса трудноуловимых ошибок так с любым языком. те, кто у кого не хватает терпения прочитать ман, бегут писать программы, у них не получается, они обращаются в форумы, где их посылают в маны.
dark-demon PHP: <? $version>="5.1" || $version<"5" && $version>="4.4" Достаточно реален? (это проверка, поддерживает ли PCRE множества типа \pL) И если в твоем "труъ" языке выражение 2+1*2 будет равно 6, от него все будут нос воротить.
Горбунов Олег, прочитав про руби на википедии хотел было сказать "как самый молодой язык он вобрал в себя лучшие качества существующих", но зайдя на оффсайт и посмотрев примеры, понял, что это очередная перловая лапша. автор знал перл, одним глазом видел питон и совершенно не слышал про яваскрипт - вот и получилось...
Dagdamor, нет, сие условие недостаточно сложно. такая запись твоего условия мне нравится больше: ( $version >= 4.4 )&&( $version !in [ 5 .. 5.1 ] )