LINUX.ORG.RU

Programming language


0

0

Подскажите, пожалуйста, две вещи (кто знает):

1). Какую-нибудь хорошую статью/страницу/ресурс/... со сравнением (желательно максимального количества) существующих языков программирования.

2). Может кто знает (свой родной язык програмиирования, или просто слышал): хочется найти язык программирования со следующими характеристиками:
- наподобие PHP (5), но только со строгой типизацией и возможностями создания собственных типов данных (a-la typedef, struct, signed/unsigned/...);
- наподобие С/С++, но только с автоматическим управлением памятью и чуть более высокоуровневый;
- компилируемый (в достаточно эффективный код);
- с возможностью (достаточно простого) добавления модулей на С/С++;
- работающий на unix (POSIX) платформах.

Плюс ко всему (чтобы, видимо, вообще никогда такой не найти): с открытыми кодами и божеской лицензией...

Буду рад любой информации.
Заранее спасибо.


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

Ой, народ, вы все равно ни к чему не придете...

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

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

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

She
()

xlex, попробуй ruby.
Язык идеально подходит для прикладного программирования.
Можно использовать в связке с с/с++ (можно подгружать библиотеки на c/c++ прямо из ruby).
Здесь надо больше думать не о том как реализовать, а о том что делаешь.
Нет возни с памятью (выделение-освобождение). Нет проблем связанных с некорректной работой с памятью (memory leak, buffer overflow).
Язык портируемый - программа написаная на одной платформе запустится на любой другой (если конечно в коде нет платформо-зависимого кода).

Язык - интерпретируемый (поэтому скорость программы на руби будет уступать аналогичной программе на си, руби чуть медленнее перла но быстрее питона), высокоуровневый, объектно-ориентированный (хотя на нем можно писать и в процедурном стиле) (в руби реальная объектно-ориентированность в отличие от питона), элегантный и мощный; немногословный но легко читаемый.
Руби объединил в себе все преимущества smalltalk, perl и python, при этом умудрился избежать недостатков свойственных этим языкам.

Более подробно можешь почитать по линку
http://www.linuxshare.ru/docs/devel/languages/ruby/ruby.html

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

Началась lor-овская народная забава :) Ругань С++! IMHO С++ обычный язык, не лучше и не хуже других, но благодаря своим заявкам на универсальность ниша все-же у него есть и большая чем у большинства других языков. В своей работе обычно использую С когда пишу на уровне ядра, С++ для пользовательского уровня, а для организации проекта вполне хватает bash & make :) Активнее используйте С++ библиотеки, и будет вам счастье. Но если уж не дано, то не дано :)

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

xlex. Все равно скотлько не читай обзоров, пока сам не попробуешь толку не будет! Язык это всего лишь средство выражения твоих мыслей. А мыслят все по разному и к решению задачи подходят с разных сторон - поэтому и нравятся всем различные выразительные средства (языки). Какой язык использовать для различных задач - это твой личный выбор и никто здесь объективно не поможет. Я бы все-таки посоветовал попробовать наиболее популярный, С/С++. Когда поймешь что в них тебя не устраивает - найдешь свой идеал :)

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

Вообще все "религиозные споры" типа C# vs. Perl, Perl vs. Python, Java vs. C++, vi vs. Emacs (IMHO, все вышеперечисленные средства имеют свои ниши) есть убиение времени и демонстрация непрофессионализма. Инструмент подбирается под задачу, а не задача под инструмент.

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

Чем не угодил? Недостаточным количеством слов отражающих, что я в этом не уверен? Или в том, что Sap DB (а не Max DB) требует Pascal to C транслятора? Можно конкретно?

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

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

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

Надо, надо... Ломает.

И когда пишут бред - я не наезжаю. Но я ненавижу, когда мои слова называют бредом.

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

Да нет, C++ - сильно хуже большинства других. Об этом то и спич...

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

Ты фигню несёшь.

На том, что нравится, пишут лохи. А нормальный человек пишет на том, что наиболее адекватно соответствует задаче. Всякие там нравится/не нравится - это детский сад, которому среди профессионалов не место.

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

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

flamer, это процесс обратный: начинаешь писать на новом языке, и он тебе либо нравится, либо нет. Я, например, человечка инертная, и знаю многих, которые просто ленятся взяться за новое и непроверенное :)))

Большинство проектов пишу на С++ под юниксом и на С# (ну, если конечно, не брать в расчет скриптовых проектов на перле и пхп). Мне пока хватает.

С трудом отрываюсь от любимых сей, если предлагают, например, сесть за аду или дельфи/кайликс. Именно это в виду имелось.

Повторюсь, когда тебя ругают, слушать хочется меньше всего. Примите к сведению.

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

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

Ну а на вопрос ответа так и не было. "Всё" - это слишком неопределённо.

Назови пример хотя бы одной задачи, для которой считаешь C++ идеальным, и я скажу, что на самом деле надо было для этой задачи использовать.

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

2flamer
конечно не относится к линуксу, но вот написание OPC-сервера, с нуля,
т.е. не покупая различные тулкиты третьих фирм (хотя они тоже
практически все написаны на с++, и чтобы их пользовать опять же
нужен с++). Ваш вариант идеального языка для данной задачи.
Некоторые требования: быстродействие, в некоторых случаях возможность
прямого обращения к железу, минимальное использование памяти и
процессора, еще много чего можно добавить.
ЗЫ: поковырял питон на предмет как на нем можно OPC-клиента сделать,
по сравнению с с++, работа через OPC Automation - это просто праздник
какой-то :), если бы на с++ я бы написал 100 строк, то здесь
все это заняло строк 20. Это я к выбору языка под решаемую задачу

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

FreeBSD... можно написать на С++ :))))) Краулер - неплохо написался на С (сетевых либ - до хрена и больше).

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

То есть предыдущий пост был от меня :) А вообще дальнейший спор, уж извините, не принесет результата. :))) Flamer, не принимайте близко к сердцу, я третий раз повторяю, что не считаю С универсальным... :)

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

> Назови хотя бы одну КОНКРЕТНУЮ задачу (не надо обобщений!), для которой, как ты считаешь, нет ничего лучше, чем C++.

Виталий, неисключено что тебя оппонент olegk просто подразнить решил, провоцируя на ругань.

Что же касается C++, то приходиться считаться с тем, что на нём очень много чего написано.

Очень много программирующих в качестве реальных языков для своих проектов ничего кроме Delphi/VB/C++/C#/Java не назовут. Я тут недавно поспорил с одним специалистом в RDBMS по поводу языка Ада, он думал, что это классический пример языка, разработанного военными, тяжёлого и к настоящему времени не используемого. Так вот он очень сильно удивился, узнав что Ada не только используется, но и используется в таких областях, куда C++ на пушечный выстрел не подпустят.

Чем далее тем чётче, на мой взгляд, реальные проекты разделяются на две области программирования:

1)Корпоративно-менеджерское. Там царствует C++ С# Java VB и Delphi, последняя впрочем позиции сильно сдала. Это основная видимая область, именно по ней проводятся курсы и проходят всякие сертификации. Это область в которой привыкли, что программы глючат, что для решения проблем с контроллером домена надо переустановить Win 2000 AS на которой он работает. И т.п.

2)Элитное. Там пишут софт, правильность работы которого обосновывают или хотя бы частично стараются это сделать. И этим всё сказано.

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

>Sap DB (а не Max DB) требует Pascal to C транслятора? Можно конкретно?
Можно конкретно ссылку на это ?

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