Подскажите, пожалуйста, две вещи (кто знает):1). Какую-нибудь хорошую статью/страницу/ресурс/... со сравнением (желательно максимального количества) существующих языков программирования.
2). Может кто знает (свой родной язык програмиирования, или просто слышал): хочется найти язык программирования со следующими характеристиками:
- наподобие PHP (5), но только со строгой типизацией и возможностями создания собственных типов данных (a-la typedef, struct, signed/unsigned/...);
- наподобие С/С++, но только с автоматическим управлением памятью и чуть более высокоуровневый;
- компилируемый (в достаточно эффективный код);
- с возможностью (достаточно простого) добавления модулей на С/С++;
- работающий на unix (POSIX) платформах.Плюс ко всему (чтобы, видимо, вообще никогда такой не найти): с открытыми кодами и божеской лицензией...
Буду рад любой информации.
Заранее спасибо.
>1). Какую-нибудь хорошую статью/страницу/ресурс/... со сравнением (желательно максимального количества) существующих языков программирования.
http://en.wikipedia.org/wiki/Programming_language#Major_lang...
>найти язык программирования со следующими характеристиками:
>- наподобие PHP (5), но только со строгой типизацией
Интерпретируемому языку строгая типизация только помеха.>и возможностями создания
>собственных типов данных (a-la typedef, struct, signed/unsigned/...);
>- наподобие С/С++, но только с автоматическим управлением памятью и чуть более
>высокоуровневый;
Ruby>- компилируемый (в достаточно эффективный код);
Не Ruby. Ruby -- интерпретируемый.>- с возможностью (достаточно простого) добавления модулей на С/С++;
Ruby>- работающий на unix (POSIX) платформах.
>
>Плюс ко всему (чтобы, видимо, вообще никогда такой не найти): с открытыми
>кодами и божеской лицензией...
Ruby
>http://en.wikipedia.org/wiki/Programming_language#Major_lang...Спасибо, как раз только что нашёл - сейчас читаю.
>Ruby
<...>
>Не Ruby. Ruby -- интерпретируемый.
<...>
>Ruby
<...>
>Ruby=)
Ruby - в общем, похоже, что всем хорош, кроме интепритации - может для него есть схема компиляции в байт-код (этого будет вполне достаточно) ?
>Ruby - в общем, похоже, что всем хорош, кроме интепритации - может
>для него есть схема компиляции в байт-код (этого будет вполне достаточно)
>?
Компиляция в байт код нужна не для ускорения, а для переносимости на дикие архитектуры. На мой взгляд, ускорение здесь чисто липовое.
>>Ruby - в общем, похоже, что всем хорош, кроме интепритации - может
>>для него есть схема компиляции в байт-код (этого будет вполне достаточно)
>>?
>Компиляция в байт код нужна не для ускорения, а для переносимости на
>дикие архитектуры. На мой взгляд, ускорение здесь чисто липовое.Почему? Какая-то экономия точно есть - два этапа обработки кода (чтение и интерпритация/составление внутреннего представления)...
>>Компиляция в байт код нужна не для ускорения, а для переносимости на
>>дикие архитектуры. На мой взгляд, ускорение здесь чисто липовое.
>
>Почему? Какая-то экономия точно есть - два этапа обработки кода (чтение и
>интерпритация/составление внутреннего представления)...
Если бы какого-то ускорения не было бы, то и ежу понятно было бы...
Тут дело вот в чём (но это чисто моё мнение, основанное чисто на моём
личном опыте). Если программку на итерпретируемом языке скомпилировать в
байт код, то она будет работать чуть быстрее. Если же сделать не так;
оставить программку в покое, а действительно тонкие с точки зрения
производительности места написать на C++, то программка наша будет работать
несоизмеримо быстрее по сравнению с первым вариантом. Но вот беда, чтобы
переносимость при этом не пострадала, нужно a) иметь на целевой платформе
компилятор C++, b) интерпретируемый язык должен позволять себя стыковать с
C++ не просто легко, а даже таки -- приятно. Здесь я в своё время тоже
чесал затылок и тасовал языки; постепенно остановился на Ruby, по
крайней мере до тех пор, пока буду ориентироваться на платформы,
удовлетворяющие пункту a.
Компиляцию в байт код поддерживают например Java и Python. Ну, и сильно
это обстоятельство помогло производительности Java, или модности Python?
Вообще, как я разумею, не существует технологии, которая решила
бы за программиста проблему производительности (типа -- скомпилировал в
байт код, и на тебе решение проблемы), решить её можно только и
исключительно, приложив умную голову. А какие технологии использовать --
дело не первостепенное.
Спасибо за совет и мнение - буду знать.Насчёт Java/Python - согласен... =)