[Опрос] Какие языки программирования вы знаете?

Автор βεερ_βooρ, 02 Жовтень 2007, 00:55:20

Попередня тема - Наступна тема

Какие языки программирования вы знаете?

C/C++/Objective-C
82 (52.6%)
(Visual) Basic
54 (34.6%)
Java
31 (19.9%)
PHP
34 (21.8%)
Perl
9 (5.8%)
C#
30 (19.2%)
Python
13 (8.3%)
Ruby
3 (1.9%)
D
5 (3.2%)
Pascal/Delphi
100 (64.1%)
Lisp
7 (4.5%)
COBOL
1 (0.6%)
Lua
3 (1.9%)
Ada
1 (0.6%)
Fortran
3 (1.9%)
Prolog
8 (5.1%)
Logo
4 (2.6%)
Tcl/Tk
1 (0.6%)
Haskell
6 (3.8%)
OCaml
2 (1.3%)
Unix shell
16 (10.3%)
Ассемблер х86
33 (21.2%)
Ассемблер для другой платформы
12 (7.7%)
Свой вариант(в комменте указать)
12 (7.7%)

Всього голосів: 156

Brother

Надо было в голосование добавить еще один вариант "Я слышал о таких".
А вообще мне стыдно. Я толком не знаю ни одного языка. Сначала пытался выучить Турбо Паскаль, сейчас Ассемблер пытаюсь. Тяжело они мне даются.

Bismark

Цитата: Brother від 06 Жовтень 2007, 13:09:16
Надо было в голосование добавить еще один вариант "Я слышал о таких".
А вообще мне стыдно. Я толком не знаю ни одного языка. Сначала пытался выучить Турбо Паскаль, сейчас Ассемблер пытаюсь. Тяжело они мне даются.
Интересно, а для чего тебе асм понадобился? :)

Brother

Цитата: Bismark від 06 Жовтень 2007, 15:55:31
Интересно, а для чего тебе асм понадобился? :)
В универе изучаем

Anton T.


Giltanas

Java,С++,С#,Pascal,Delphi,Basic сейчас с ссемблером розбираюсь ...в универе нужно

AL-STALKER

Знаю основы Паскаля/Делфи + С/С++/С#. Сейчас думаю серьёзно заняться изучением визуал с++.
The world will look up and shout, "Save Us!" and I'll whisper "No".
Die Meister, die Besten, les meilleures equipes, the champions!

Mils

Цитата: RAMS від 03 Жовтень 2007, 19:55:32
У нас тоже в школе программирование началось во втором полугодии 10 класса :'( :'( :'(
А у меня вообще программирование в школе не было. Это сейчас уже там изучают что-то такого плана.

Я голосовал только за С (Borland C) потому что только его нормально знаю. Сейчас в универе, как ни станно, проходим по Ассемблеру.
٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶٩(͡๏̯͡๏)۶٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶

Fersifex

Цитата: Mils від 13 Жовтень 2007, 02:41:34
А у меня вообще программирование в школе не было. Это сейчас уже там изучают что-то такого плана.

Плохо дело у нас в стране с предметом "Информатика"...  :(
Книга - это зеркало, и если в него смотрится обезьяна, то оттуда не может выглянуть лик апостола

Mils

Цитата: Fersifex від 13 Жовтень 2007, 17:00:07
Плохо дело у нас в стране с предметом "Информатика"...  :(

Нееее... Информатика у меня в школе была, а просто никаких языков прграммирования не изучали.
٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶٩(͡๏̯͡๏)۶٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶

psoi

Ещё в школе и на втором курсе института пришлось программировать на Электроника MK-61.
Там же в школе изучали Turbo-Pascal.
В универе писал прогу для магистерской работы на Delphi.
На работе пробовал связку AutoCad + Delphi (Прикольная софтина получилась)
Пробовал С++ - но эти полиморфизмы инкапсуляции и наследования - отвратили полностью.

Ну и наконец - сделал сайт с софтиной по дистанционному съему показаний с тепловых счётчиков на PHP

βεερ_βooρ

Цитата: psoi від 17 Жовтень 2007, 19:55:46
Пробовал С++ - но эти полиморфизмы инкапсуляции и наследования - отвратили полностью.
А в Delphi их как будто нет. Почему такое мнение сложилось о С++? Сложность изучения?
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

KJIuM

В этом году в универе начали изучать Lisp, в следующем Prolog. Пока в список их не пишу.
Жить - значит мыслить.
                             Марк Туллий Цицерон

eQui

Pascal/Delphi на уровне лабораторных университета, но у меня вообще то возникает вопрос к тем, кто пишет, что знает много языков: само значение слова "знает" можно трактовать как "в совершенстве"?
Не бойся мечты, бойся тех, кто не мечтает (с)

βεερ_βooρ

Цитата: equitabilis від 26 Жовтень 2007, 13:46:54
Pascal/Delphi на уровне лабораторных университета, но у меня вообще то возникает вопрос к тем, кто пишет, что знает много языков: само значение слова "знает" можно трактовать как "в совершенстве"?
Некоторые(С++) "знать в совершенстве" практически невозможно, ибо они для этого слишком сложные и комплексные(как и естественные человеческие языки - если кто-то говорит вам что он в совершенстве знает английский/немецкий/..., то он просто плохо знаком с предметом :))
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

eQui

Цитата: beep_boop від 26 Жовтень 2007, 14:20:30
Некоторые(С++) "знать в совершенстве" практически невозможно, ибо они для этого слишком сложные и комплексные(как и естественные человеческие языки - если кто-то говорит вам что он в совершенстве знает английский/немецкий/..., то он просто плохо знаком с предметом :))

Именно это я и имел ввиду :)
Не бойся мечты, бойся тех, кто не мечтает (с)

snegoviK

#65
Я придерживаюсь мнения, что программиста красит не сколько языков он знает, а знает ли он саму теорию, которая позволяет ему в любой момент выучить нужный язык. Язык - это инструмент, как отвертка или гаичный ключ. Перед нами стоит задание/проблема - нам нужно решить как её решить. Выбор языка - одна из стадий решения. Например, мы не будем забивать гвозди лобзиком, а возьмём в руки молоток.

В моём понимании знать язык - уметь его использовать для решения поставленной задачи. Впринципе, я думаю, написав красивую программу на Haskell, можно также красиво её написать, например, на Java. Дальше следует градация носитель языка/просто знающий язык. Также как носитель языка знает сленг, различные фразеологизмы и поговорки, часто используемые выражения, носитель языка программирования знает трюки и хаки, которые впринципе знать для достижения цели необязательно, но которые очень полезно знать. :> Например, очень простой трюк абстракции классов а-ля Java в обычном С (С99).

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

Проголосовал за C/C++/Java/Haskell/PHP/Prolog/Lua. Также программировал на OCCAM, VHDL и Matlab. :] А еще я как-то писал ассемблер для упрощенной архитектуры MIPS32. Я еще компилятор для чего-то там писал, но впринципе там набор инструкций стандартный был, ничего сложного.

βεερ_βooρ

Цитата: snegoviK від 29 Жовтень 2007, 15:02:17
Я придерживаюсь мнения, что программиста красит не сколько языков он знает, а знает ли он саму теорию, которая позволяет ему в любой момент выучить нужный язык.
как показывает практика, это понимают немногие  :(
Цитата: snegoviK від 29 Жовтень 2007, 15:02:17
Абсолютно не согласен со сравнением С++ с человеческими языками. Любой язык программирования однозначный по определению, в то время как человеческие языки двусмысленные. Этим все и сказано, впринципе.
Однозначные говорите?
Примеры:
printf("%i\n",sizeof(int));

Другой пример - поведение оператора new в С++ зависит от настроек компилятора и поддерживаемых им стандартов.

В той же Wikipedia куча примеров, касающихся С++.

Цитата: snegoviK від 29 Жовтень 2007, 15:02:17
Как я писал выше, всегда существуют трюки и хаки, но впринципе о языке программирования нельзя сказать "его нельзя выучить полностью как немецкий или русский". Можно.
Вы полностью выучили С++? ;) Назубок помните все 310 страниц стандарта(а он к примеру не включает описание стандартной библиотеки), а так же дополнительные материалы(например стандарты реализации под конкретную платформу)?

Если вам не нравится "лингвистическое" сравнение, сравните с математикой или физикой. Формальные системы определены, однако область применения настолько широка, что одному человеку просто физически невозможно хранить в голове все полученные результаты.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

snegoviK

#67
Однозначные всмысле unambiguous. Я не знаю правильного русского термина. Каждая строчка - определённый набор инструкций. То что можно писать i = i + 1, или ++i, или i++ не в счет (последние 2 варианта, разные вещи между прочим). Это не то. Зависимость от платформы (ваши примеры) тоже не то.

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

Ну их же и необязательно хранить. Достаточно открыть учебник и разобраться с нужной частью языка, с нужной библиотекой и т.д. В спецификации указано, что нужно четко соблюдать определенные стандарты? Врубаем соответствующие опции компилятора, -Wall, смотрим, если что-то непонятно - читаем. Если "выучить язык" в вашем понимании это от корки до корки знать всё о языке, тогда, да, язык невозможно выучить полностью.

Тут скорее идеть речь о различных сферах применения и о требованиях в этих сферах чем о самом языке программирования.

βεερ_βooρ

Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
Однозначные всмысле unambiguous. Я не знаю правильного русского термина.
Недвусмысленный, точно выраженный. Т.е. однозначный. :)
Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
Зависимость от платформы (ваши примеры) тоже не то.
new зависит не от платформы, а от того, какой стандарт поддерживает(и использует по умолчанию) компилятор и результат будет зависеть от того, что взбредет ему в голову. С++ - очень комплексный и сложный язык, поиск в гугле по фразе "ambiguity of C++ syntax" сразу находет кучу ссылок на задачки-головоломки(основанные на неоднозначности толкования компилятором) и фразы в стандартах вроде:
Цитатаc) Complication of the Standard
-------------------------------

In cases where default int leads to an ambiguity,
it is necessary to write special disambiguating rules.
This serves to complicate the Standard and has
the potential to leave holes where no one has noticed
that an ambiguity might exist. Deprecation or banning leaves
no doubts that such ambiguities will never be
resolved in favour of default int.

In particular, default int makes specifying
the syntax of C++ difficult and particularly
sensitive to context.

А о специфике платформы всегда лучше помнить...
Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
Ну их же и необязательно хранить. Достаточно открыть учебник и разобраться с нужной частью языка, с нужной библиотекой и т.д. В спецификации указано, что нужно четко соблюдать определенные стандарты? Врубаем соответствующие опции компилятора, -Wall, смотрим, если что-то непонятно - читаем.
Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
Если "выучить язык"
Речь шла, о "выучить досконально язык"
Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
в вашем понимании это от корки до корки знать всё о языке, тогда, да, язык невозможно выучить полностью.
Если уж учить досконально так досконально.
Цитата: snegoviK від 29 Жовтень 2007, 20:39:23
Тут скорее идеть речь о различных сферах применения и о требованиях в этих сферах
...которые надо учитывать.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

snegoviK

Учитывать и досконально знать язык это разные вещи. Тем неменее, я понял вашу точку зрения. :) У меня очень странное чувство мы говорим о похожих вещах, просто выражаемся немного по-разному. :]

βεερ_βooρ

Цитата: snegoviK від 30 Жовтень 2007, 02:43:38
Учитывать и досконально знать язык это разные вещи. Тем неменее, я понял вашу точку зрения. :) У меня очень странное чувство мы говорим о похожих вещах, просто выражаемся немного по-разному. :]
Несовершенство естественного языка. :D
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

snegoviK


No_name

Сейчас в школе (7 класс) прохожу Pascal (Turbo Pascal - в школе, Delphi 7 - учу сам) и для себя учу Objective-C (Xcode 3.0 (Mac OS))

ricardo

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

З.Ы.А если и включать в опрос вариант "не знаю языков", то только при условии наличия коментаря: какой собирается выучить.Например "Не владею языками, но собираюсь выучить"; а остальное в коментарий.
Каждый ошибается в меру своих возможностей.

Mils

Цитата: ricardo від 20 Січень 2008, 17:52:33
... даже HTML сам осваивал(и это действительно язык не поворачивается назвать языком програмирования). :'( ...
Потому что это не язык программирования.
٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶٩(͡๏̯͡๏)۶٩(-̮̮̃-̃)۶٩(●̮̮̃•̃)۶

Mr.V@MPIRe


βεερ_βooρ

Цитата: Mils від 20 Січень 2008, 18:05:11
Потому что это не язык программирования.
Это язык разметки(как и ТеХ)
Языки раметки вместе с PROLOG и РЕФАЛ - представители сентенциального подхода к программированию и служат(имеются ввиду языки разметки, а не PROLOG и РЕФАЛ) для описания информации(в основном текста), его внутренней стуктуры и представление при отображении.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

artlite

Я учусь в 11-ом классе Pascal учу в школе, Pyton, Visual Basic, HTML, С++ изучаю сам. И еще пытаюсь Java, но пока ничего не выходит.
Цитата: beep_boop від 29 Жовтень 2007, 20:01:23
как показывает практика, это понимают немногие
А с этим я согласен, у нас программирование понимают 2 человека в классе, а в школе человек 6 максимум.
Знание силы не дает силу, но ее осознание ведет к совершенству...

snegoviK

#78
А вот интересно, я С++ попробовал после Java и C... А вот как оно наоборот? То есть, C++ потом Java. :)

βεερ_βooρ

Цитата: snegoviK від 27 Січень 2008, 15:14:10
То есть, C++ потом Java. :)
Я пробовал именно так.

Как бы поточнее выразить свои ощущения... Сначала я прочел книгу по Java(возможно это из-за того, что авторы работают в Sun, но элемент морального превосходства над С++ как старьем посматривался), прям революция - смотрите как элегантно все сделали, бла-бла-бла, ООП рулит, бла-бла-бла. По окончании семестра я согласился с Виртом:
http://www.osp.ru/os/1998/01/179366/
ЦитатаК.П.: Еще один очень популярный язык сегодня - C++. Я знаю, что Вы не испытываете особого восторга от него, и во многих случаях лучше бы использовать более безопасный язык. Однако, не будет ли мудрее помочь программистам вместо того, чтобы бороться с ними. Например, во многих случаях, C++ - программисты были бы рады использовать более безопасную версию этого языка, тем более, что далеко не все связаны необходимостью поддерживать 100% совместимость с языком Cи. Версия C++, в которой указатели и массивы были бы ясно разделены, и где можно было бы получать предупреждающее сообщение, когда, к примеру, вы присваиваете значение с плавающей точкой переменной целого типа и т.д., могла бы помочь в создании лучших программ - и без необходимости изучать совершенно новый язык. Я понимаю, что много более приятно спроектировать концептуально чистый язык, чем попытаться сделать может быть не идеальный, но широко используемый более безопасным: но ведь если этот превосходный "чистый" язык используется только ограниченным кругом людей, то продвигаем ли мы на самом деле вперед состояние дел в области разработки программного обеспечения?

Н.В.: Моя позиция в этом вопросе не предусматривает компромиссов. Как университетский профессор, я обучаю будущих программистов. Пытаясь делать это на максимально высоком уровне, я должен подавать фундаментальные понятия программирования столь ясно, четко и кратко, сколь это возможно. И я определенно не позволю, чтобы неадекватная нотация помешала мне в этом. Если студенты восприняли важнейшие идеи, приобрели разносторонний опыт и знания, то у них не будет больших проблем в адаптации других языков (хотя они обычно не испытывают положительных эмоций, сталкиваясь с неадекватностью новых языков). Хотя, конечно, интересно, почему никто из заинтересованных лиц и организаций в столь большом сегменте программной индустрии до сих пор по настоящему не озаботился решением той задачи, о которой Вы сказали: определить безопасное подмножество C++. Я вижу здесь две причины. Во-первых, программистский мир все время жаждет более мощных языков, а вовсе не ограниченных подмножеств. Второе: есть осознание того, что такие попытки едва ли могут привести к успеху - ведь это была бы попытка укрепить структуру дома, построенного на песке. Есть вещи, которые надо продумывать до, а не после.

К.П.: Тогда что Вы думаете о Java? Этот язык очень быстро набирает популярность, но во многих отношениях, он как раз не слишком отличается от того "очищенного" C++, о котором я говорил.

Н.В.: Серьезный ответ на этот вопрос потребовал бы слишком много времени. А если кратко, то: приобретенная Java слава есть результат массированной рекламной кампании, а не его выдающихся технических достоинств.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

FalseMan

Я знаю Basic, Visual basic, pascal, delphi,c++. Хочу выучить Java и Unix Shell. Не подскажете книгу?(лучше электронную, а то у меня в городе всего 3 книжных магазина, которые продают детективчики :()

βεερ_βooρ

Цитата: FalseMan від 27 Січень 2008, 20:33:53
Unix Shell. Не подскажете книгу?(лучше электронную, а то у меня в городе всего 3 книжных магазина, которые продают детективчики :()
Advanced Bash-Scripting Guide (Версия 2.5 15 февраля 2004, Ru)
http://tldp.org/LDP/abs/html/ (Версия 5.1 10 November 2007)

UNIX: инструментальные средства, 2-е издание
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

FalseMan

#82
ЦитатаAdvanced Bash-Scripting Guide (Версия 2.5 15 февраля 2004, Ru)
http://tldp.org/LDP/abs/html/ (Версия 5.1 10 November 2007)

UNIX: инструментальные средства, 2-е издание
Спасибо! Хорошо, что знаю английский! Ну а по Java на русском(ИМХО лучше понимаешь на родном языке)?

ssovez

C/C++/ - много программил в лицее,институт
(Visual) Basic    - тока лицей
Java - институт и щаз иногда)   
PHP - постоянно)) по работе
C# + asp.net  - немного,щаз тоже по работе начинаю сильнее с ним работать   
Pascal/Delphi лицей,институт и щаз иногда знакомым кто еще учится в универе помогаю лабы делать))) недавно пришлось даже Turbo pascal вспомнить,а запустить по ХР не мог) пока не поставил DosBox
Unix shell в универе, иногда по работе
Ассемблер х86 тока в универе,хоть недавно капельку вспоминал)

snegoviK

#84
2 beep_boop, на самом деле в Java воплощены многие очень интересные идеи и язык очень приятный. На нём просто удобно программировать. Я очень редко испытывал дискомфорт используя Java. Язык нельзя назвать революционным и все отмечают средства затраченные Sun на продвижение своего детища, есть некоторые неудобства и проблемы с быстродействием. Тем неменее, Java нужно отдать по заслугам. Более того, со времени 1998-го года многое изменилось. Например, та же JVM притерпела колоссальных изменений, например, появился JIT. На данный момент, соотношение быстродействия C : Java не более 1 : 2, что очень неплохо.

Впринципе, я считаю, что Java:

1) Почти такой же быстрый язык, как С.
2) Более чистый язык чем С++.
3) Намного безопаснее чем С.
4) Имеет просто изумительный набор стандартных библиотек, особенно для Regexp и работы с датами.
5) Имеет некоторые недостатки. Например, идиотское I/O, класс Byte не unsigned, инконсистенции в названиях классов и функций (ArrayList, arraycopy, substring, HashMap, length/size).

С++, с другой стороны, для меня довольно новый язык, я начал на нём программировать только на этом курсе и после Java. Язык оказался очень сложным, beep_boop был абсолютно прав и я забираю назад свои слова написанные раннее в этом топике. Что мне понравилось?

1) Оверлоадинг операторов (хотя это хак для введения принципов ООП).
2) iostream (просто супер!).
3) Указатели (!!!! java u suk).
4) Это С поддержкой ООП (С the best!).
5) Темплейт классы. Хотя, в Java generic классы тоже интересные.

Что не понравилось? Грязь, грязь, грязь и еще раз грязь. Чтобы хорошо программировать на С++ нужно быть очень дисциплинированным инженером. Из лучшего, что есть в С и Java может получится самое худшее. Иногда язык просто становится настолько уродливым, что просто хочется закрыть редактор и больше никогда не программировать (оверлоадинг оператора <<). С++ уже давно не является индустриальным стандартом, на нём пишут ширпотреб, где пара-тройка багов сям-там не играют особой картины. Более серьезные, узкопрофильные проекты уже давно не пользуются С++.

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

ricardo

Каждый ошибается в меру своих возможностей.

Андрей

Цитата: ricardo від 30 Січень 2008, 12:58:09
beep_boop, что скажешь об этом:
http://www.parser.ru/
Твое мнение?
Вопрос хоть и не ко мне, но выскажу свое мнение -- Тёма придумал PHP. Только синтаксис еще страшнее. :)

snegoviK

А че в PHP не так с синтаксисом? Упрощенный сишный. Миленький такой. =)

Андрей

Цитата: snegoviK від 30 Січень 2008, 18:14:39
А че в PHP не так с синтаксисом? Упрощенный сишный. Миленький такой. =)
Назову пару основных минусов:
- бардак в именовании библиотечных функций (with_underscores, CapStyle, withoutunderscores)
- отсутствие понятия namespace (>3000 функций в глобальном пространстве имен)
- префикс $ для переменных (мое персональное фу)
Это недостатки _синтаксиса_.

FalseMan


βεερ_βooρ

#90
Цитата: ricardo від 30 Січень 2008, 12:58:09
beep_boop, что скажешь об этом:
http://www.parser.ru/
Твое мнение?
Я с Парсером не работал и не интересовался (только пару раз видел в сети заметки/новости)
но на основе беглого анализа его документации пожалуй соглашусь:
Цитата: Андрей від 30 Січень 2008, 17:18:02
Вопрос хоть и не ко мне, но выскажу свое мнение -- Тёма придумал PHP. Только синтаксис еще страшнее. :)

Цитата: Андрей від 30 Січень 2008, 20:58:19
Назову пару основных минусов:
- бардак в именовании библиотечных функций (with_underscores, CapStyle, withoutunderscores)
- отсутствие понятия namespace (>3000 функций в глобальном пространстве имен)
+1
Цитата: Андрей від 30 Січень 2008, 20:58:19
- префикс $ для переменных (мое персональное фу)
Это недостатки _синтаксиса_.
Цитата: FalseMan від 30 Січень 2008, 21:33:35
И мое!
Та дался вам тот $. Это можно сказать наследственность:
shell -> perl(он же shell на стероидах ;)) -> PHP
ЦитатаНазвание PHP — рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.

Цитата: snegoviK від 29 Січень 2008, 22:36:08
Впринципе, я считаю, что Java:

1) Почти такой же быстрый язык, как С.
Нет, С будет однозначно быстрее и тут ничего не поделаешь. Но с программами на С++(в особенности написаные с использованием фреймворков типа qt) потягаться можно попробовать :)
Цитата: snegoviK від 29 Січень 2008, 22:36:08
2) Более чистый язык чем С++.
Вот только эту самую чистоту язык постепенно теряет. Это одна из причин, по которым мне не понравилась Java.
Цитата: snegoviK від 29 Січень 2008, 22:36:08
4) Имеет просто изумительный набор стандартных библиотек, особенно для Regexp и работы с датами.
Вот только это разрастание лишает Java основного приимущества С над С++ - компактности.
Цитата: snegoviK від 29 Січень 2008, 22:36:08
5) Имеет некоторые недостатки. Например, идиотское I/O, класс Byte не unsigned, инконсистенции в названиях классов и функций (ArrayList, arraycopy, substring, HashMap, length/size).
Да, более-менее поддержка консоли появилась только в 5-ой версии.
Цитата: snegoviK від 29 Січень 2008, 22:36:08
Язык оказался очень сложным, beep_boop был абсолютно прав и я забираю назад свои слова написанные раннее в этом топике.
О, да! Я знал по личному опыту  8)
Цитата: snegoviK від 29 Січень 2008, 22:36:08
1) Оверлоадинг операторов (хотя это хак для введения принципов ООП).
Вообще то оверлоадинг операторов не имеет к ООП какого-то отношения. Это элемент обобщенной парадигмы программирования(Generic programming).
Цитата: snegoviK від 29 Січень 2008, 22:36:08
2) iostream (просто супер!).
Мне больше нравятся printf сотоварищи. Влияние привычки от С + с ними удобнее поддерживать интернационализацию.  
Цитата: snegoviK від 29 Січень 2008, 22:36:08
4) Это С поддержкой ООП (С the best!).
Ну не совсем, полной совестипости с С нету...  С с поддержкой ООП - это Objective C

Цитата: snegoviK від 29 Січень 2008, 22:36:08
Что не понравилось? Грязь, грязь, грязь и еще раз грязь.
Да, это вам хардкорный BDSM, а не ваниль ;D
Цитата: snegoviK від 29 Січень 2008, 22:36:08
Чтобы хорошо программировать на С++ нужно быть очень дисциплинированным инженером. Из лучшего, что есть в С и Java может получится самое худшее.
Не ново:
ЦитатаIn C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg.
Bjarne Stroustrup
Цитата: snegoviK від 29 Січень 2008, 22:36:08
Иногда язык просто становится настолько уродливым, что просто хочется закрыть редактор и больше никогда не программировать (оверлоадинг оператора <<).
А чем он уродлив?
Цитата: snegoviK від 29 Січень 2008, 22:36:08
С++ уже давно не является индустриальным стандартом, на нём пишут ширпотреб, где пара-тройка багов сям-там не играют особой картины.
Бу-га-га
Цитата: snegoviK від 29 Січень 2008, 22:36:08
Более серьезные, узкопрофильные проекты уже давно не пользуются С++.
Это слишком сильное/громкое заявление.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Ethereal_horror

Цитата: snegoviK від 29 Січень 2008, 22:36:08
С++ уже давно не является индустриальным стандартом, на нём пишут ширпотреб, где пара-тройка багов сям-там не играют особой картины. Более серьезные, узкопрофильные проекты уже давно не пользуются С++.
почти все игры (я имею в виду ААА-проекты) пишутся на С++.

snegoviK

#92
Игры это ширпотреб. Игровая индустрия не отражает тенденции Software Development.

2 beep_boop: сейчас Java очень быстрый язык (performance ratio 2:1, часто еще меньше) и наличие больших стандартных библиотек никак не влияет на компактность / громоздкость. Всё зависит от программиста.

Мне лично, С++ понравился. Особенно, когда я привык к нему и у меня началось получаться. Jav-у я пока закинул. Но язык хороший, не игнорьте его. Да и как написали выше, в некоторых отраслях Software Engineering знание С++ обязательно. Если хотите делать игры, то нужно полюбить С++. :)

У меня сейчас интересное задание, называется System Integration. Нужно написать эмулятор простой системы с процессором, памятью, шиной и т.д. и для этого эмулятора написать мини-ОС с настоящим кернелом. Многие "слакеры" решили писать на Java, другие пишут на C++, а я решил написать ассемблер (который у меня валялся еще с первого курса) и эмулятор на С, а потом ОС и пару системных программ на С++. :) Вот посмотрим, что у меня получицо. :) Лектор, сказал в прошлом году кто-то написал эмулятор на Haskell, это конечно не Brainf*ck, но тоже вызывает уважение. :)

Андрей

Цитата: snegoviK від 31 Січень 2008, 12:46:20
Игры это ширпотреб. Игровая индустрия не отражает тенденции Software Development.
А что отражает?

Цитата: snegoviK від 31 Січень 2008, 12:46:20
2 beep_boop: сейчас Java очень быстрый язык (performance ratio 2:1, часто еще меньше) и наличие больших стандартных библиотек никак не влияет на компактность / громоздкость. Всё зависит от программиста.
Память вот только надо покупать.
Причем памяти для программы на жабке надо на порядок больше, чем для аналогичной программы на плюсах. Скорость разработки примерно та же при этом остается. А если у вас есть достаточно ОЗУ, то лучше Common Lisp/Haskell использовать - вдвое сократить обьем кода по сравнению с Java получится без особого труда.

snegoviK

#94
Цитата: Андрей від 31 Січень 2008, 13:06:05
А что отражает?
Память вот только надо покупать.
Причем памяти для программы на жабке надо на порядок больше, чем для аналогичной программы на плюсах. Скорость разработки примерно та же при этом остается. А если у вас есть достаточно ОЗУ, то лучше Common Lisp/Haskell использовать - вдвое сократить обьем кода по сравнению с Java получится без особого труда.

Что отражает? Разработка систем навигации для авиалайнеров или алгоритмы для параллельного умножения больших матриц. :)

Память? Интересно, а на чем построена Symbian? Если на вашей target-платформе настолько мало памяти, что на ней не работает Java... Может тогда вообще на ассемблере написать? Это беря во внимание то, что DRAM дешевеет на глазах и стоит копейки.

Haskell хорош, но он медленнее Java. Lisp? Старенький. :)

Андрей

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Что отражает? Разработка систем навигации для авиалайнеров или алгоритмы для параллельного умножения больших матриц. :)
То есть, вы считаете что там самые современные технологии используют? Алгоритмы и автоматическое доказательство теорем - различные ФЯП, это ведь наука. Системы навигации - Ada, ибо надежность превыше всего. Где там Java?

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Память? Интересно, а на чем построена Symbian?
На Java ME. Ну, к этой платформе никаких претензий - она просто единственная. Но мы же обсуждали Java SE/EE, с чего бы я сравнивал полноценный CL/Haskell/D/C++ с обрезанной жабкой? Лучше уж тогда lua вспомнить, который в эмбеде за последние несколько лет стал самым популярным встраиваемым ЯП.

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Если на вашей target-платформе настолько мало памяти, что на ней не работает Java... Может тогда вообще на ассемблере написать?
Моя таргет платформа - embedded devices. 8 кб NOR Flash'а - жабка там что-то сможет продемонстрировать? C + Python/lua -- смогли.

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Это беря во внимание то, что DRAM дешевеет на глазах и стоит копейки.
Предположим, программа на плюсах требует (в пике загрузки) 2 ГБ ОЗУ. Аналогичное ПО на джаве требует не менее 20 ГБ. Принятой практикой является оставлять минимум 50% свободной оперативной памяти на сервере. Итак, ПО на джаве потребует 40 ГБ DRAM, в то время как ПО на плюсах (или даже D, там ведь есть механизм сборки мусора, он же должен жрать больше памяти) -- 4 ГБ. Разница в 36 ГБ обойдется примерно в 600 долларов. На каждый сервер. Круто, нет слов. Я специально утрировал, чтобы Вы мою мысль правильно поняли -- не всегда всё можно решить просто докупив пару планок, зачастую это экономически невыгодно.

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Haskell хорош, но он медленнее Java.
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=java&lang2=ghc
Ы?

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Lisp? Старенький. :)
Мощный аргумент. :) Но, если для вас это важная характеристика ЯП, то тут, конечно, возразить нечего.

βεερ_βooρ

Цитата: snegoviK від 31 Січень 2008, 12:46:20
Игры это ширпотреб.
Зато продаются намного лучше, чем ПО для матмоделирования ;)
Цитата: snegoviK від 31 Січень 2008, 12:46:20
Игровая индустрия не отражает тенденции Software Development.
Да, это вообщем то правда - рынок игр функционирует в условиях довольно жесткой конкуренции и очень немногие компании могут поступать как Blizzard - указывая в графе дата выхода "когда будет готово". Очередная игра по Гарри Поттеру должна быть выпущена вместе с фильмом и т.д. Вообщем постоянная нехватка времени на разработку выливается в "ковбойство" - кое-как, зато вовремя; в патчах потом подправим.
Цитата: snegoviK від 31 Січень 2008, 12:46:20
2 beep_boop: сейчас Java очень быстрый язык (performance ratio 2:1, часто еще меньше)
Я уже писал на старом форуме ДПК, какое на меня впечитление произвели 15 одновременно работающих Eclipse...
Цитата: snegoviK від 31 Січень 2008, 12:46:20
и наличие больших стандартных библиотек никак не влияет на компактность / громоздкость. Всё зависит от программиста.
Вы не правильно меня поняли, я имел компактность не в смысле компактности синтаксической конструкции и в таком духе:
http://www.catb.org/~esr/writings/taoup/html/ch04s02.html
ЦитатаCompactness is the property that a design can fit inside a human being's head. A good practical test for compactness is this: Does an experienced user normally need a manual? If not, then the design (or at least the subset of it that covers normal use) is compact.

Цитата: snegoviK від 31 Січень 2008, 13:14:49
Что отражает? Разработка систем навигации для авиалайнеров
... написаных на С
Цитата: snegoviK від 31 Січень 2008, 13:14:49
или алгоритмы для параллельного умножения больших матриц. :)
Linpack написана на Фортране, вы не знали? ;)
Цитата: snegoviK від 31 Січень 2008, 13:14:49
Lisp? Старенький. :)
На это я не могу написать вминяймый комментарий. Бу-га-га.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

snegoviK

#97
О, как. Нормальная движуха. :) Большое спасибо за ваши ответы. Оба ответа очень ценные и мне понравились, спасибо что не поленились написать. Вы меня извините за немного провокационный стиль письма, честно говоря, я не настолько компетентный специалист, чтобы ввязываться в такие споры. :)

Antivirus


kion

Цитата: Андрей від 31 Січень 2008, 17:23:23
Предположим, программа на плюсах требует (в пике загрузки) 2 ГБ ОЗУ. Аналогичное ПО на джаве требует не менее 20 ГБ. Принятой практикой является оставлять минимум 50% свободной оперативной памяти на сервере. Итак, ПО на джаве потребует 40 ГБ DRAM, в то время как ПО на плюсах (или даже D, там ведь есть механизм сборки мусора, он же должен жрать больше памяти) -- 4 ГБ. Разница в 36 ГБ обойдется примерно в 600 долларов. На каждый сервер. Круто, нет слов. Я специально утрировал...

Вот уж действительно утрировали так утрировали :)

По теме: на данный момент (JRE версии 6 и выше от Sun) мало чем уступает C/C++ в производительности. Более того, множество последних тестов доказывают, что Java в большинстве случаев быстрее C++, и лишь немногим отстает по быстродействию от C.

Что касается памяти, то таки да, ввиду того, что сама JVM отнимает часть памяти при загрузке приложения + потребляется память, выделяемая под загрузку стандартной библиотеки, Java-приложения потребляют больше памяти, чем, к примеру, приложения написанные на C++. Но не в 10 же раз! Раза в два, не более.

Пара линков (дальше сами googлите и читайте WikiPedia ;)):

http://en.wikipedia.org/wiki/Java_performance
http://www.idiom.com/~zilla/Computer/javaCbenchmark.html

P.S. Авторы последней статьи, как мне кажется, сделали любопытный вывод (с которым я, пожалуй, соглашусь). И это по состоянию на 2003 год... Сейчас с производительностью и потреблением памяти у Java дела обстоят значительно лучше. Хочу лишь сказать: не становитесь жертвой стереотипов :) Цитирую:

ЦитатаOur answer probably lies somewhere in sociology or psychology. Programmers, despite their professed appreciation of logical thought, are not immune to a kind of mythology, though these particular "myths" are arbitrary and relatively harmless.