Язык программирования (Отписываем :)F)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

Язык программирования
Какой язык программирования Вы ЛЮБИТЕ?

С
251
17%
С++
258
17%
Java
94
6%
Pascal
87
6%
Assembly
85
6%
Lisp
31
2%
Prolog
11
1%
Python
128
8%
Ruby
31
2%
PHP
124
8%
Perl
78
5%
Ada
7
0%
Forth
10
1%
Haskell
16
1%
Basic
50
3%
Фортран
13
1%
bash
135
9%
Smalltalk
5
0%
Delphi
71
5%
Что такое язык программирования?
34
2%
 
Всего голосов: 1519

Аватара пользователя
Jaanq
Сообщения: 10
ОС: Ubuntu 7.10; Fedora 8
Контактная информация:

Re: Язык программирования

Сообщение Jaanq »

люблю с/с++, очень красивый язык перл, уважаю
не люблю ява-программистов - они в большенстве своем не понимают, что вообще делают, представление даже о таких вещах как стек или куча у них отсутствует...
- а вот здесь играл на 4ехструнной...
- вы умеете играть на басу?
- я никогда об этом не задумывался
Спасибо сказали:
Аватара пользователя
izen.fire
Сообщения: 268
ОС: Windows XP

Re: Язык программирования

Сообщение izen.fire »

Jaanq писал(а):
06.10.2008 11:27
не люблю ява-программистов - они в большенстве своем не понимают, что вообще делают, представление даже о таких вещах как стек или куча у них отсутствует...
Стэк — это класс java.util.Stack (параметризованный контейнер-дженерик в Java 5.0). Вот из JavaDoc цитата:
The Stack class represents a last-in-first-out (LIFO) stack of objects. It extends class Vector with five operations that allow a vector to be treated as a stack. The usual push and pop operations are provided, as well as a method to peek at the top item on the stack, a method to test for whether the stack is empty, and a method to search the stack for an item and discover how far it is from the top.

When a stack is first created, it contains no items.

A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to this class. For example:

Deque<Integer> stack = new ArrayDeque<Integer>();

Since:
JDK1.0
То есть метафоры Стэк, Очередь, Дека и другие были в библиотеке языка с 1995 года (с момента опубликования), а вы говорите, что java-программисты не разбираются в этом.

В C++ вместо дженериков есть шаблоны (templates), но они завязаны на RTTI и позднее связывание кода. Дженерики java проверяются на этапе компиляции на соответствие типов, что быстрее, и исключает ошибки времени выполнения явного и неявного преобразования типов в C++.

А ещё в java существует стандартный API коллекций (Java Collections Framework). И иерархии классов для многопоточного программирования (пакеты java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks), что вместе со встроенными возможностями языка по работе с потоками имеет серьёзные преимущества в скорости написания и отладки безопасного (в отличие от C++) кода.

Насчёт кучи вы тоже погорячились — любой объект инстанцируется на куче. Бездумное использование генераций объектов (без реюзинга существующих) и надежда на умный сборщик мусора приводит начинающих явщиков (закончивших сишников) к плачевному результату: память "течёт". Не в том смысле, что она теряется операционной системой, а в том, что java-приложение начинает требовать всё больше и больше для своей работы из-за большого количества ненужных, но связаных с основной программой объектов (отдельные кластеры/графы брошенных объектов GCC всё ещё может убрать, но связанные с основным кодом — нет). Как результат: полное непонимание происходящего и списание распухания требований к ресурсам на язык и технологию Java. Это — типичная черта сишников, привыкших вручную убирать "мусор", но в Java никаких инструментов для таких нет, а смелое полагание на GCC приводит к плачевному результату.
Ротор поля наподобие дивергенции градуирует себя вдоль спина и там внутре ево неонка.
Спасибо сказали:
warp
Сообщения: 135

Re: Язык программирования

Сообщение warp »

приплюснутый люблю, но огорчает что он runtime зависимый и ось на нём не напишешь сходу. по мимо "написание оси на с++" из возрастных болезней болею асмом.
за мировое господство! банзай, товарищи!
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Язык программирования

Сообщение watashiwa_daredeska »

Вы не выбрали пункт, за который хотите проголосовать. Вернитесь назад и выберите один из пунктов голосования, которому хотите отдать свой голос

Почему нет пункта "против всех"? Но если уж что-то выбирать, то Lisp будет на первом месте, а C++ -- на последнем.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Язык программирования

Сообщение watashiwa_daredeska »

iZEN писал(а):
08.10.2008 17:50
В C++ вместо дженериков есть шаблоны (templates), но они завязаны на RTTI и позднее связывание кода. Дженерики java проверяются на этапе компиляции на соответствие типов, что быстрее, и исключает ошибки времени выполнения явного и неявного преобразования типов в C++.

Это кто вам такую чушь сказал? Плюсовые шаблоны самые что ни на есть compile-time и ни на какую RTTI не завязаны. Более, чем жабские дженерики. Шаблоны инстанциируются (какое русское слово для этого ужасного термина есть?), и в результате получается несколько реализаций -- по одному на каждый набор шаблонных параметров, каждая реализация настолько же эффективна, как если бы эти параметры были подставлены вручную. В жаве же инстанс один, который реально работает с Object и немного теряет в производительности из-за приведений типов в runtime. Хотя соответствие типов -- да, проверяется в compile time.

iZEN писал(а):
08.10.2008 17:50
А ещё в java существует стандартный API коллекций (Java Collections Framework).

STL

iZEN писал(а):
08.10.2008 17:50
И иерархии классов для многопоточного программирования (пакеты java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks),

boost, хоть и не стандартный де-юре, но настолько популярный, что можно считать стандартом де-факто (часть будет в стандартной библиотеке C++-0x).

iZEN писал(а):
08.10.2008 17:50
что вместе со встроенными возможностями языка по работе с потоками имеет серьёзные преимущества в скорости написания и отладки безопасного (в отличие от C++) кода.

Встроенные средства -- это synchronized что-ли? Фигня это в плане написания безопасного многопоточного кода. Вот настоящий message passing, как в Erlang, действительно дает серьезные преимущества.

iZEN писал(а):
08.10.2008 17:50
Насчёт кучи вы тоже погорячились

Я думаю, Jaanq имел в виду структуру данных heap.
Спасибо сказали:
Аватара пользователя
izen.fire
Сообщения: 268
ОС: Windows XP

Re: Язык программирования

Сообщение izen.fire »

watashiwa_daredeska: Шаблоны инстанциируются (какое русское слово для этого ужасного термина есть?), и в результате получается несколько реализаций -- по одному на каждый набор шаблонных параметров, каждая реализация настолько же эффективна, как если бы эти параметры были подставлены вручную. В жаве же инстанс один, который реально работает с Object и немного теряет в производительности из-за приведений типов в runtime. Хотя соответствие типов -- да, проверяется в compile time.

В Java "оборачивание" дженериков в контейнеры производится компилятором. Ну, да, создаются несколько дополнительных классов, чтобы обеспечить "совместимость" байткода со стилем JVM/target=1.4 (где вообще нет обобщённых типов) — байткод в .class-файлах вообще лишён информации о каких бы то ни было дженериках, "автобоксинге" и прочего синтаксического сахара исходников, появившегося в Java 5.0. В этом смысле .class-файлы разработчики Java называют "очищенными".

Шаблоны в C++ для безопасного использования в/из чужих бинарных библиотек(ах) требуют проверки типов на этапе выполнения программистом.
Дженерики — проверяются на этапе компиляции компилятором, .class-файлы, полученные в результате компиляции "с дженениками", готовы для безопасного использования в сторонних приложениях. Исходники не нужны.

watashiwa_daredeska: STL

Вы путаете библиотеку шаблонов (STL) с работающим кодом (JCF).

watashiwa_daredeska: boost, хоть и не стандартный де-юре, но настолько популярный, что можно считать стандартом де-факто (часть будет в стандартной библиотеке C++-0x).

"Будет или уже есть?" — риторический вопрос.

watashiwa_daredeska: Встроенные средства -- это synchronized что-ли? Фигня это в плане написания безопасного многопоточного кода. Вот настоящий message passing, как в Erlang, действительно дает серьезные преимущества.

Встроенные стредства — примитивы синхронизации (мониторы объектов, методы синхронизации и протокол их работы), а не "synchronized".
Ротор поля наподобие дивергенции градуирует себя вдоль спина и там внутре ево неонка.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Язык программирования

Сообщение watashiwa_daredeska »

Отвечу с примером: http://pastebin.com/m55285629

iZEN писал(а):
11.10.2008 15:30
Шаблоны в C++ для безопасного использования в/из чужих бинарных библиотек(ах) требуют проверки типов на этапе выполнения программистом.

Открою вам большой секрет: шаблонов в бинарных библиотеках не бывает. И никакой проверки программистом на этапе выполнения не надо.

Не так? Покажите в моем примере такую проверку и шаблон из бинарной библиотеки. Или приведите свой пример.

iZEN писал(а):
11.10.2008 15:30
Исходники не нужны.

Именно поэтому жабские дженерики менее эффективны.

iZEN писал(а):
11.10.2008 15:30
Вы путаете библиотеку шаблонов (STL) с работающим кодом (JCF).

А шаблоны это по вашему не работающий код? Класс vector в моем примере не работает или он не из STL? Алгоритмы copy и transform в моем примере не работают или они не из STL?

iZEN писал(а):
11.10.2008 15:30
"Будет или уже есть?" — риторический вопрос.

Стандарт де-факто немногим хуже стандарта де-юре. Если решается поставленная задача -- не все ли равно? Я, конечно понимаю, есть педанты, которые могут заявить, что GUI на C++ делать невозможно, т.к. в стандарте этого нет.

iZEN писал(а):
11.10.2008 15:30
Встроенные стредства — примитивы синхронизации (мониторы объектов, методы синхронизации и протокол их работы), а не "synchronized".

Я вам расскажу страшную тайну. На заре времен, многие вещи стремились реализовать в языке. Потом языки-динозавры вымерли и в более современных языках стали реализовывать минимум, а большинство возможностей стали переносить в библиотеки. Так вот, встроенные средства многопоточности это как раз недостаток, а не преимущество.
Спасибо сказали:
kosteel
Сообщения: 330
Статус: Root Lamer
ОС: Debian GNU/Linux 5.02 amd64

Re: Язык программирования

Сообщение kosteel »

А я очень любвиобильный, мне все по своему нравятся, как в том анекдоте:

- Сэм, - спросил лорд своего слугу, - какие лошади вам больше всего нравятся, белые или воронные?
- Видите ли, сэр, когда я скачу на белой, то мечтаю о воронной, а когда на воронной, то мечтаю о белой.
- А какие женщины вам больше нравятся, блондинки или брюнетки?
- Видите ли, сэр...
- Ладно, я понял вас, Сэм, можете не продолжать.
Ничто не вечно под рутом
Спасибо сказали:
Аватара пользователя
Mars803
Сообщения: 74

Re: Язык программирования

Сообщение Mars803 »

Мои два самых любимых:
1. LUA
2. PHP
$socket = fsockopen('MOZG', 80, $errno, $errstr, $timeout);
Спасибо сказали:
Аватара пользователя
.snif
Сообщения: 216
Статус: ..::[SnifeR]::..
ОС: Debian 5.0
Контактная информация:

Re: Язык программирования

Сообщение .snif »

Программирую на PHP, кодил на дельфе года полтора назад, потом забросил. Сейчас баш учу
Спасибо сказали:
Аватара пользователя
altwazar
Сообщения: 427
Статус: Zz
ОС: Calculate

Re: Язык программирования

Сообщение altwazar »

Пробовал питон, php, java, c, c++. Везде своих заморочек хватает.
Когда пишу на одном языке часто думаю о том, как эта часть бы хорошо получилась в другом.
Спасибо сказали:
Аватара пользователя
Naruto-kun
Сообщения: 228
Статус: небритый гентушник
ОС: Gentoo(PC)/easypeasy(Netbook)
Контактная информация:

Re: Язык программирования

Сообщение Naruto-kun »

Люблю с/c++, bash, perl. В последнее время на работе правда приходится чаще работать с bash. А вот java не взлюбил с первого с ней знакомства.
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Если на вопрос ни кто не знает ответа, то пора читать описание.
Спасибо сказали:
Аватара пользователя
izen.fire
Сообщения: 268
ОС: Windows XP

Re: Язык программирования

Сообщение izen.fire »

Да уж. Java не для слабых.
Ротор поля наподобие дивергенции градуирует себя вдоль спина и там внутре ево неонка.
Спасибо сказали:
Аватара пользователя
Cra3y
Сообщения: 80
ОС: Debian

Re: Язык программирования

Сообщение Cra3y »

Люблю C за "низкоуровневость",
С++ - за шаблоны,
Perl - за регулярные выражения,
Bash - как средство сборки частей написанных на C, C++ и Perl в единое целое )
HP G62 (AMD Phenom II x3 1.8GHz 4GB DDR3 Ram) / Debian 8 amd64
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Язык программирования

Сообщение drBatty »

iZEN писал(а):
20.05.2009 17:32
Да уж. Java не для слабых.

скорее наоборот ИМХО.
вот что вправду не для слабых - С++, его можно изучать годами, да так и не понять :(
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
altwazar
Сообщения: 427
Статус: Zz
ОС: Calculate

Re: Язык программирования

Сообщение altwazar »

drBatty писал(а):
20.05.2009 20:03
iZEN писал(а):
20.05.2009 17:32
Да уж. Java не для слабых.

скорее наоборот ИМХО.
вот что вправду не для слабых - С++, его можно изучать годами, да так и не понять :(


Ява простая и понятная. Пока дело до jsp не доходит :)
Спасибо сказали:
PBPROG
Сообщения: 0
ОС: Windows

Re: Язык программирования

Сообщение PBPROG »

Кодю на PureBasic.
Он простой и API знать не надо.
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

На винде немного занимался программированием. Пробовал бейсики, в т.ч. Purebasic.
Вотос в том, есть ли в демке VisualDesinger?
В виндвой версии, по-моему был.
Устанавливать не пробовал, просто распаковал и запускал среду - нет.
Или нужно ставить?
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: Язык программирования

Сообщение pcodr »

use perl or die
:rolleyes:
remote system type is unix
Спасибо сказали:
PBPROG
Сообщения: 0
ОС: Windows

Re: Язык программирования

Сообщение PBPROG »

есть ли в демке VisualDesinger?
В демке есть, но только в версии компилятора под Windows, а под Linux он отсутствует даже в полной версии.

На оф. форуме есть тема, где обсуждается версии VisualDesinger под Windows и Linux http://forums.purebasic.com/english/viewtopic.php?t=30885

Вот архив с версией под Windows http://users.skynet.be/berikco/visual%20designer.zip
А вот под Linux http://users.skynet.be/berikco/visual%20designer.tar.gz
Спасибо сказали:
mix1m
Сообщения: 187
ОС: openSUSE 11.2

Re: Язык программирования

Сообщение mix1m »

голосовал за java, хотя "кормлюсь" PL/SQL (кто его не включил в опрос? :huh: )
Попытка - первый шаг к провалу (с) Гомер
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

pcodr писал(а):
15.06.2009 21:05
use perl or die
:rolleyes:

а в перле можно создавать окна?
Я думал, что перл еэто что-то пита ПХП для серверных сценариев только.
А компилятор для создания исполняемых файлов?
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Язык программирования

Сообщение drBatty »

ekkl писал(а):
16.06.2009 17:46
а в перле можно создавать окна?
Я думал, что перл еэто что-то пита ПХП для серверных сценариев только.
А компилятор для создания исполняемых файлов?
ну я окна успешно и в sh создаю...
а перловка, это ИМХО что-то такое... ну не знаю, не рыба, не мясо... вроде как и повыше скриптов, да и по лучше, и регулярные выражения удобные... Но на нормальный Язык вроде С++ - не тянет... На любителя, и/или на некоторый узкий круг задач... ИМХО
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

ну я окна успешно и в sh создаю..
А примерчик можно? Желательно в кнопкой :)

На бейсике кодировал в основном, немного на ассемблере.
Немного адаптируюсь к линуху -- продолжу ПХП юзать (сайт доделывать)
Ну а перл не знаю. На сколько он схож с ПХП и бейсиком? Может действительно стоит.
Суппер - пуппер навороченого не нужно. Так до 1000 строк.....
На оф. форуме есть тема, где обсуждается версии VisualDesinger под Windows и Linux http://forums.purebasic.com/english/viewtopic.php?t=30885
Вот архив с версией под Windows http://users.skynet.be/berikco/visual%20designer.zip
А вот под Linux http://users.skynet.be/berikco/visual%20designer.tar.gz

Или что-то со мной, или линухом. Но дизайнер глючит до невозможного. Приходится руками код править. Чепуху пишет. Два раза одно и то же окно создает.
Дальше НЕВОЗМОЖНО писать кирилицей. Это особенность линуксовой версии? Или у меня руки кривые?

Может стоит попробовать какой-нить линуховый бейсик? Типа Hbasic или что-то похожее.
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Язык программирования

Сообщение drBatty »

ekkl писал(а):
16.06.2009 20:51
А примерчик можно?

man xmessage
man gmessage

Нужна прога - если зашли как root, отсылает мне сообщение
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

Работает :)
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: Язык программирования

Сообщение pcodr »

ekkl писал(а):
16.06.2009 17:46
pcodr писал(а):
15.06.2009 21:05
use perl or die
:rolleyes:

а в перле можно создавать окна?
Я думал, что перл еэто что-то пита ПХП для серверных сценариев только.
А компилятор для создания исполняемых файлов?


Конечно можно. Perl -- универсальный язык программирования.
В частности для создания окон есть биндинги библиотек Qt3, GTK+, wxwidgets, Tk и еще несколько экзотических.
Кстати и на PHP тоже можно писать оконные приложения, я вот тут по учебным нуждам забацал кой чего на php с окнами.

Ну а перл не знаю. На сколько он схож с ПХП и бейсиком? Может действительно стоит.

На PHP Perl похож, точнее это PHP похож на Perl :) Но в отличии от PHP Perl более локоничен и интересен, что временами не добавляет понятности. Ну а один из главных плюсов Perl'a это конечно его репозиторий с модулями -- cpan.org. Так что рекомендую к изучению.
remote system type is unix
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

Надо будет попробовать. :)
Пока пробую разораться с бейсиками
1) GamBas - похоже не компилятор, созданные приложения открываются с помощью виртуальной машины
2) Hbasic - не могу поставить. configure, make все в норма
make install пишет что не требует обновления и ничего никуда не копируется. В папке исходников создается файл hbasic при запуске выскакивает ошибка KDE.
Неужели нет НОРМАЛЬНОГО Васика под линух?
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
Аватара пользователя
iso
Сообщения: 19
ОС: Fedora 14
Контактная информация:

Re: Язык программирования

Сообщение iso »

python, C, bash
Jabber-бот: bot@maximko.org
http://sms.maximko.org
Спасибо сказали:
ekkl
Сообщения: 139
ОС: 3.17.3-300.fc21.x86_64

Re: Язык программирования

Сообщение ekkl »

python, C, bash

Пардрн, это бейсики?
------------
Я так и не понял, есть ли компилятор для перла, или он совершенно не нужен?
dd if=/dev/zero of=/dev/null bs=1M
И пусть весь мир подождет.....
Спасибо сказали:
Ответить