Какой язык выучить "для себя"

 
1 5 6 7 8 9 10 11
+
-
edit
 

Mishka

модератор
★★★
Balancer> Что у нас есть, работающее надёжнее Эрланга на распределённых системах с сотнями тысяч и миллионами клиентов? :)

Да масса чего. В чём там надёжность Эрланга-то проявляется? К примеру куча банковских и сетевых проектов (существенно распределённых) сделано на Джаве.

Эрланг, как язык, не мощнее Джавы. Вся его сила в его сопровождающей системе и библиотеках. Ты никогда не смотрел на библитки ACE? Так вот на нём у AT&T и Lucent-а написано поболее, чем у Эриксона на Erlang-е. С++ тем не менее. У Дугласа Шмидта и книжечки есть соответствующие — паттерны для коммуникационных задач — так называемые POSA I и POSA II.

Balancer> Да, вроде, из прописных истин :) Хаскелл один из лучших, если не лучший по отлавливанию даже алгоритмических ошибок на этапе компилляции :) Сам, конечно, на нём не писал, по чём купил, потом продаю.

Ы? Это кто такое писал? У нас искусственный интелект в Хаскел вложили? А, если ты имеешь ввиду компиляторные вычисления, то это палка о двух концах.

Balancer> Операционные системы, компилляторы и СУБД не являются прикладными программами :D

СУБД для ОС такая же прикладная программа как всё остальное как веб сервер. Или веб сервер это тоже не прикладная задача? А САПР?

Balancer> Кстати, интересный вопрос - Mnesia на чём написана? На чистом Эрланге, или он только надстройка над ней?

Без понятия.

Balancer> И embedded - тоже не прикладной уровень :) Специфические задачи можно почти под любой язык найти.

Определяй прикладной уровень тогда.
 
+
-
edit
 

Mishka

модератор
★★★
mabusse> Позволяет, а не заставляет.

Как показывает практика, если людей не ограничивать, то они пользуются всем. Поэтому языки, которые позволяют делать всё, для массовости не пригодны, если не будут стоять дяди-технологи-программирования взади и бить линейкой по рукам. Это как правила дорожного движения — если они разрешат всё, то получится ППЦ. Даже с кучей штрафов и запретов и то...
 
+
-
edit
 

Balancer

администратор
★★★★★

Mishka> Определяй прикладной уровень тогда.

Хм. Ты ещё предложи определить что такое «программа» или «язык программирования»: Прикладное программное обеспечение — Википедия
 
+
-
edit
 

Mishka

модератор
★★★
Ну, тогда у GOGI явно не прикладные задачи — он для контроллеров пишет программки.
 
+
-
edit
 

Balancer

администратор
★★★★★

Mishka> Ну, тогда у GOGI явно не прикладные задачи — он для контроллеров пишет программки.

Пусть он уточнит. Потому что пишет он явно не embedded :) Иначе бы и вопросов не было. Да и тягать Web-страницы и POST делать - тоде не контроллерная задача. У него что-то другое :)
 

yacc

старожил
★★☆

Balancer> Хм. Ты ещё предложи определить что такое «программа» или «язык программирования»: Прикладное программное обеспечение — Википедия
Ну если так... то любая прога, запускающаяся на компе и не являющаяся частью системы - прикладная, если требует общения с пользователем. Пример - игры ( тот же Quake, Unreal ), САПР, фотошоп ... - вперед на питоне :) Да даже если не требует явного интерактивного взаимодействия... например движок сетевой БД... :)
 

GOGI

координатор
★★★★
вы что, издеваетесь? Про контроллеры я упомянул только к вопросу, на чем я программирую. Программирование их не имеет никакого отношения к сабжевому вопросу.
1  

Balancer

администратор
★★★★★

yacc> Ну если так... то любая прога, запускающаяся на компе и не являющаяся частью системы - прикладная, если требует общения с пользователем. Пример - игры ( тот же Quake, Unreal ), САПР, фотошоп ... - вперед на питоне :)

Нет «серебряной пули». В принципе, на Питоне можно написать это всё, но не всё на нём будет эффективно :) Есть задачи, когда, действительно, востребовано быстроействие. Бывают условия, в которые не вписывается вариант с открытыми исходниками. Могут быть вопрос с биндингами...

Если тебе кажется, что я говорю, что на Питоне можно писать все, то ты меня не понял. Я говорю, что на нём эффективно можно писать многое, о чём тут шла речь :)

...

А так - я, вот, сам в последние годы пишу в основном на PHP, Java и bash :) Если взять более древнюю перспективу, то ещё нарисуются Си++, Бейсик, Perl, Javascript и Forth. Но это не мешает мне по достоинству оценивать и другие языки, если мне на них доводилось писать программы сложнее хотя бы пяти десятков строк :D
 

Mishka

модератор
★★★
GOGI> вы что, издеваетесь? Про контроллеры я упомянул только к вопросу, на чем я программирую. Программирование их не имеет никакого отношения к сабжевому вопросу.
Нет уж, назвался грибом, так галлюцагень! :F
 
+
-
edit
 

mabusse

новичок
mabusse>> Позволяет, а не заставляет.
Mishka> Как показывает практика, если людей не ограничивать, то они пользуются всем. Поэтому языки, которые позволяют делать всё, для массовости не пригодны, если не будут стоять дяди-технологи-программирования взади и бить линейкой по рукам. Это как правила дорожного движения — если они разрешат всё, то получится ППЦ. Даже с кучей штрафов и запретов и то...
В данном конкретном случае, о массовости речи и не идет, мы же сейчас тут не делаем из GOGI программиста (он сам так просил :) , а предлагаем ему варианты средств написания небольших скриптов для автоматизации и работы с Web. В этой нише перл, благодаря CPAN в том числе и накопленной обширной документации, широко используется. Не стоит сразу сбрасывать его со счетов в данном случае - yacc вот использует давно и вполне успешно, именно в его нише применимости, значит, к его мнению можно прислушаться. Повторюсь - сам перл не рекомендую.
Однако пример:

code text
  1. open(MYFILE, "</home/1.txt") || die "Файл не найден!";
  2. while(<MYFILE>)
  3.      {
  4.      print;
  5.      }
  6. close(MYFILE);


написан вполне по-человечески, а не по-птичьи.
 
+
-
edit
 

Balancer

администратор
★★★★★

mabusse> написан вполне по-человечески, а не по-птичьи.

По-птичьи, как раз :) Одни галочки :D
 
+
-
edit
 

mabusse

новичок
mabusse>> написан вполне по-человечески, а не по-птичьи.
Balancer> По-птичьи, как раз :) Одни галочки :D
А вам бы все смеяться, командор :) но фанатов у перла множество.
 

GOGI

координатор
★★★★
Вот кто бы мне полезного посоветовал :-)
Почему у меня в Eric не работает курсорная стрелка вниз?! Вправо, влево, вверх работает, а вниз никак :-(
1  
+
-
edit
 

Balancer

администратор
★★★★★

mabusse> А вам бы все смеяться, командор :) но фанатов у перла множество.



Но их всё меньше :)
 

Balancer

администратор
★★★★★

GOGI> Почему у меня в Eric не работает курсорная стрелка вниз?! Вправо, влево, вверх работает, а вниз никак :-(

Увы, у меня всё ок :)
 

yacc

старожил
★★☆

Balancer> По-птичьи, как раз :) Одни галочки :D
code text
  1. sub prepare_cfg
  2. {
  3.     my ($fileName, $dataDir, $is_table, $is_copy, $page_size ) = @_;
  4.     open ( TEMPL, "template\\template.cfg" ) or die "Cannot open template";
  5.     open ( OUTF, ">$fileName" ) or die "Cannot open file $fileName";
  6.     foreach ( <TEMPL> )
  7.     {
  8.         s/%IS_COPY%/$is_copy/;
  9.         s/%IS_TABLE_ORIENTED%/$is_table/;
  10.         s/%TABLE_PAGE_SIZE%/$page_size/;
  11.         s/%DATA_DIR%/$dataDir/;
  12.         print OUTF;
  13.     }
  14.  
  15.     close TEMPL;
  16.     close OUTF;
  17. }


Ну напиши аналогичное на Питоне так же лаконично... :)
Задача - есть программка, которая запускается принимая на вход некий конфигурационный файл. Надо в цикле перебора параметров сформировать этот файл ( с определенными параметрами ) и дернуть программку, чтобы получить цифирь с нее. И потом график надо посмотреть - как выходная цифирь проги себя ведет при изменении параметров. Вот процедурка формирования файла конфигурации по шаблону - ну лень мне хардкодить все штуки типа Key1=Value1 в программе которая будет формировать этот конфигурационный файл и перебирать... проще написать шаблон в котором забить что-то типа: MyVerySpecialParameter=%MY_VERY_SPEC_PARAM% и стравить формирование собственно файла конфигурации Перл-скрипту который и файл будет делать и прогу дергать и выходные результаты в некий файл писать, который я потом екселем ( или чем еще ) открою да посмотрю график.
Работа разовая и тащить за собой что-то сложное не хочется - Перл подойдет, а вот собственно прогу я могу на чем нужно написать.

P.S. Вообще-то странно для юниксоида называть синтаксис перла птичьим - это значит что он либо mc пользуется либо в GUI работает. А так sed для него должен быть штукой понятной. Я практически не пользовался никогда mc - мне bash было достаточно. Да и такая халява на линуксе, а для коммерческих юниксов его надо еще собирать и тащить требуемые для него библиотеки ( вот тут ты на своей шкуре прочувствуешь, что такое зависимости и что даже маленький bash за собой несколько библиотек тащит ), а вот sed и perl практически на любом юнихе будут.
 

GOGI

координатор
★★★★
А с WinAPI и COM perl может работать?
1  

yacc

старожил
★★☆

GOGI> А с WinAPI и COM perl может работать?
Вот примерчик из документации:
If you have a sheet object you can extract the values of a series of cells through $Sheet->Range->{'Value'}, for example:

my $array = $Sheet->Range("A8:B9")->{'Value'};

Now $array[0][0] contains the value of cell A8, $array[0][1] the value of cell B8, $array[1][0] the value of cell A9 and $array[1][1] the value of cell B9.

What is returned is an two-dimensional array (OK, an array with references to arrays) that contains the values of the requested cells.

A complete example is here:
code text
  1.     use strict;
  2.     use Win32::OLE qw(in with);
  3.     use Win32::OLE::Const 'Microsoft Excel';
  4.     $Win32::OLE::Warn = 3;                                # die on errors...
  5.     my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
  6.         || Win32::OLE->new('Excel.Application', 'Quit');  # get already active Excel
  7.                                                           # application or open new
  8.     my $Book = $Excel->Workbooks->Open("C:\\DOCUMENTS\\test.xls"); # open Excel file
  9.     my $Sheet = $Book->Worksheets(1);                     # select worksheet number 1
  10.     my $array = $Sheet->Range("A8:B9")->{'Value'};        # get the contents
  11.     $Book->Close;
  12.     foreach my $ref_array (@$array) {                     # loop through the array
  13.                                                           # referenced by $array
  14.         foreach my $scalar (@$ref_array) {
  15.             print "$scalar\t";
  16.         }
  17.         print "\n";
  18.     }

Это СОМ, с Win32 особо не пробовал - не нужно было. А из экселя данные я вытаскивал ( мне их было надо в базу запихать )
 

yacc

старожил
★★☆

P.S. Форум обзает слэши так что в примере print "$scalart" там не t, а символ табуляции равно как и ниже не n, а перевод строки.

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

GOGI

координатор
★★★★
Вот если бы еще не {} и -> вместо точек (кому это вообще могло в голову прийти?), было совсем хорошо :-)
1  

yacc

старожил
★★☆

Точка в перле - конкатенация строк :) А "->" - стандартно в С/С++ ( обращение к полю/методу по указателю ). А "{}" - это обращение по ключу в словаре.
 

Mishka

модератор
★★★
GOGI> Вот кто бы мне полезного посоветовал :-)
GOGI> Почему у меня в Eric не работает курсорная стрелка вниз?! Вправо, влево, вверх работает, а вниз никак :-(

А в редакторе, пока не нажмёшь ввод — новая строка в конце не добавляется. Поэтому по набранному тексту можно ходить стрелочками, а за пределы последней строки (на чистое поле) выйти нельзя. Это, если я тебя правильно понял. :)
 
+
-
edit
 

Mishka

модератор
★★★
mabusse>> А вам бы все смеяться, командор :) но фанатов у перла множество.
Balancer> http://www.tiobe.com/tiobe_index/images/tpci_trends.png
Balancer> Но их всё меньше :)
Во-первых, питом там тоже сдох, начиная с 2005.
Во-вторых, это только по открытым сорцам.
В-третьих, даже не по всем серверам.

Поэтому вывод — это несУрОзнО. :)
 
US Сергей-4030 #06.02.2008 08:03  @GOGI#05.02.2008 18:46
+
-
edit
 

Сергей-4030

исключающий третье
★★☆
GOGI> А с WinAPI и COM perl может работать?

Андрей, а все-таки, чего именно тебе не хватает в VB? Может, с этого начать, потом и понятней будет, что надо.
 
+
-
edit
 

Mishka

модератор
★★★
Серёг, ему как бы хватало, но MS бросил поддерживать его.
 
1 5 6 7 8 9 10 11

в начало страницы | новое
 
Международный женский день
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru