Форумы портала PHP.SU » » Вопросы по Perl/Python/.NET » Чем Perl отличаеться от других языков программирования?

Страниц (1): [1]
 

1. voltag - 09 Февраля, 2010 - 15:11:57 - перейти к сообщению
Здравствуйте.
Я не знаю перл. Но хотел бы узнать характер языка. Чем он отличается от других языков, в чём его сильные и слабые стороны. К сожалению, а может и к счастью я сперва придумываю, то что я хочу сделать, или беру проект, и только потом думаю о его реализации, в том числе "на каком языке его писать" и например какую Базу данных использовать и использовать ли вообще... Взять мануал и проштудировать его, чтобы написать задуманное, я в состоянии, но мне надо знать, что скрывает(для меня) в себе перл.
2. JustUserR - 09 Февраля, 2010 - 15:37:30 - перейти к сообщению
voltag пишет:
Но хотел бы узнать характер языка
Характер у яыка очень миролюбивый и в общем-то язык немного похож на PHP (Потому что последний делался не только под влиянием первого - но и вначале PHP/FI был как раз нипасан на самом Perle Улыбка В общем-то Perl это основоположник CGI-программирования и достточно простой и понятный интерпретируемый язык А еще Perl это основатель регулярных выражений - там это неотъемлемая часть самого языка
Что касается внешнего вида Perl-кода то здесь он сильно похож на PHP - такие же строки и here-документы и переменные с долларом (Правда только скалярные Улыбка Что касается типов данных то здесь особая область - можете почитать об этом мою статью в соседнем разделе Статьи про Типы данных в Perl
К тому же Perl самый динамический из известных мне интерпретируемых языков программирования - в отличие от PHP функция eval в нем не дополнительная а основая и существуют встроеные средства самокомпиляции и управлением кода
voltag пишет:
Что скрывает(для меня) в себе перл
К примеру в Perl нет ни многомерных массивов ни сразу доступных средств для работы с базой данных Даже самый простой написанный Perl-скрипт типа Hello world не так просто запустить на CGI - как обычно есть аопросы с правами доступа (В отличие от PHP нужно не чтение а выполнение) а также отсутствие переводов \r в коде - да и хотя бы обязательность выведения Content-type в начале каждого документа а то будет Error 500
Если вы ранее не работали напрямую с интерфесом CGI то советую почитать статью из соседнего раздела Статьи про Запуск Perl-скриптов
Таким образом особеннотей программирования на Perl много но и возможности очень богатые (С точки зрения интерфейса CGI программирование на Perl-е является более низкоуровеневым чем PHP так как идет прямое взаимодействие со шлюзом Улыбка
3. voltag - 09 Февраля, 2010 - 17:14:51 - перейти к сообщению
Спасибо JustUserR. Вы описали Perl очень заманчиво. Нет ли у Вас информации о скорости программ на перл, можно ли вынести интерпритированный код например в отдельный файл, есть ли сравнительная характеристика с Питоном(я его не знаю поэтому спрашиваю).
Мысль о самомодифицирующемся коде будоражит мне голову... это прекрасное свойство.
У меня была идея написать самомодификацию для ПХП... в итоге получилась неплохая библиотека.

P/s Достаточно давно я почувствовал что мне надо что-то ещё кроме Делфи, ПХП и джаваскрипт, я садился за АСМ за СИ ... даже пробовал Лазарус(система с компилятором FreePascal кросплатформенная)... даже пытался увлекаться питоном... но так ни к чему и не пришёл. И как раз Перл я пропустил(каюсь) и сейчас, благо предоставилась возможность пытаюсь наверстать упущенное.
4. valenok - 10 Февраля, 2010 - 08:04:25 - перейти к сообщению
А куда Вам это все ?
А касаемо вопроса "На каком языке писать Х", то ответ всегда один: "На том, который Вы знаете лучше всего".
5. JustUserR - 10 Февраля, 2010 - 16:42:17 - перейти к сообщению
voltag пишет:
Спасибо JustUserR. Вы описали Perl очень заманчиво. Нет ли у Вас информации о скорости программ на перл, можно ли вынести интерпритированный код например в отдельный файл, есть ли сравнительная характеристика с Питоном(я его не знаю поэтому спрашиваю).
Мысль о самомодифицирующемся коде будоражит мне голову... это прекрасное свойство.
У меня была идея написать самомодификацию для ПХП... в итоге получилась неплохая библиотека
Пожалуйста! Мне всегда нравились самомодифицирующиеся коды программ потому что с помощью них можно достаточно эффективно реализовывать множество алгоритмов и идей - а в Perl блоки eval представляют собой мощную машину исполнения и управления кода - в частности полный контроль над ошибками в том числе и фатальными - с чем у PHP дела не особо хороши Улыбка
Насчет скорости выполнения это сложный вопрос - скорость их интерпретаторв я не сравнивал и даже не интересовался этим - а скорость работе в CGI-шлюзе зависит от используемых библиоте - на чистых этих языках она будет примерно одинаковой
Цитата:
Сейчас, благо предоставилась возможность пытаюсь наверстать упущенное
Спасибо за интерес к Perl - буду стараться поделиться с вами знаниями насколько смогу Улыбка
valenok пишет:
А касаемо вопроса "На каком языке писать Х", то ответ всегда один: "На том, который Вы знаете лучше всего".
Ну уж не совсем всегда - у каждого языка есть своя ниша и сфера широкого применения - например писать на Perl программы Windows-API примерно также неудобно как писать на чистом C/C++ программы для разбора строк или свою машину регулярных выражений
6. Enjoy - 10 Февраля, 2010 - 23:31:46 - перейти к сообщению
valenok пишет:
А куда Вам это все ?
А касаемо вопроса "На каком языке писать Х", то ответ всегда один: "На том, который Вы знаете лучше всего".

Одно "но". Если строго следовать этому алгоритму всю профессиоанльную жизнь, то не получится вовремя узнавать что-то новое, не связанное с любимым или основным ЯП. Подмигивание
Так что серьезные проекты выходят лучше на том, что лучше знаешь, а для себя можно и поэкспериментировать имхо.
7. voltag - 11 Февраля, 2010 - 03:39:34 - перейти к сообщению
valenok пишет:
А куда Вам это все ?

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

valenok пишет:
А куда Вам это все ?
А касаемо вопроса "На каком языке писать Х", то ответ всегда один: "На том, который Вы знаете лучше всего".


JustUserR пишет:

valenok пишет:
А касаемо вопроса "На каком языке писать Х", то ответ всегда один: "На том, который Вы знаете лучше всего".
Ну уж не совсем всегда - у каждого языка есть своя ниша и сфера широкого применения - например писать на Perl программы Windows-API примерно также неудобно как писать на чистом C/C++ программы для разбора строк или свою машину регулярных выражений


Полностью согласен.

Enjoy пишет:

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


Я не хочу Вас переубеждать.... но сам язык являеться средой разработки ЧЕГО-ТО. И несмотря на то что я могу Мастерски знать ПХП(замечу, что я не утверждаю что я его знаю на отлично)... но я утверждаю, что есть вэб приложения которые на одном ПХП написать нельзя, и даже на ПХП + джаваскрипт. Например Гугл ... на ПХП писать такое(несмотря на всё мастерство) не получиться. Почему не получиться - это отдельный вопрос для целой темы.... или например сервис высокоточных вычислений, банковские системы, системы аналитики.... Хотя ПХП мощьный язык у него есть свои недостатки.... то же самое можно сказать и про системы управления базами данных..например про MySQL ... несмотря на всё удобство у него есть свой потолок и ниша. Вот поэтому большие проекты (ИМХО) тем более надо делать на языке который приспособлен к этому, или делать смесь языков. А можно написать и свой! ПХП так и был создан кстати....

Всем спасибо за ответы

to JustUserR
У меня к Вам маааленькая просьба... не могли бы Вы написать совсем простенькую статью про Перл 'Hellow World'. Причём желательно от начала.... Например, беру захожу на офф сайт качаю Перл оттуда.. если под виду читаем ЭТО если под Никс - это.. открываем Блокнот и печатем тра та та .. это строка означает Это ... а ЭТА - вот это.. запускаем и смотриет на экране ну нас НАДПИСЬ! Вы сильно облегчите жизнь и Мне и всем последующим вопрошающим.. желательно дать ссылку на русскоязычное описание всех функций\модулей и т.д. Дальше мы уже сами )))
8. valenok - 11 Февраля, 2010 - 08:48:19 - перейти к сообщению
Потихоньку начинает походить на холивор, но тем не_менее,
поисковую систему вполне можно написать на РНР.

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

При написании домашних страничек когда-то хватало и одного htmlя и ничего.

Конечно существует разделение на десктопные приложения, веб приложения и всякие фоновые демоны и выбор языка обязан учитывать и эти факторы (которые, между прочим, входят в свойства скорости разбработки и удобства).

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

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

Поэтому при выборе perl/pyton/php/ror/aspx/jsp выбирать нужно именно то, что вы в состоянии использовать сейчас для достижения наилучших результатов.

( Постарайтесь не упоминать здесь про скорости приложений сейчас, почему-то никто здесь на чистом с++ сайты не пишет, и даже не бэкенды к ним. И даже не на aspx который превосходит всех прочих перечисленных многократно. )

Тем более мне еще не приходилось сталкиваться с задачей в веб программировании, когда та прекрасно решалась на одном языке, а на другом была-бы форт ноксом.
9. JustUserR - 11 Февраля, 2010 - 15:26:48 - перейти к сообщению
voltag пишет:
Всем спасибо за ответы
to JustUserR
У меня к Вам маааленькая просьба... не могли бы Вы написать совсем простенькую статью про Перл 'Hellow World'. Причём желательно от начала.... Например, беру захожу на офф сайт качаю Перл оттуда.. если под виду читаем ЭТО если под Никс - это.. открываем Блокнот и печатем тра та та .. это строка означает Это ... а ЭТА - вот это.. запускаем и смотриет на экране ну нас НАДПИСЬ! Вы сильно облегчите жизнь и Мне и всем последующим вопрошающим.. желательно дать ссылку на русскоязычное описание всех функций\модулей и т.д. Дальше мы уже сами )))
Пожалуйста! На самом деле установка и запуск Perl в первый раз под windows задача не сложная - если знать какие средства нужно использовать Улыбка
Для установки Perl и получения стандартных возможностей необходимо всего-навсего зайти на сайт http://www[dot]activestate[dot]com/activeperl/ и скачать оттуда дисрибутив Perl и просто установить его как обычную программу в какой-нибудь каталог При этом все нстройки будет сделаны автоматически - и то что нужно прописнао в реестр и многое другое
Вы даже можете запустить файл ppm.bat из папки с установленным Perl-ом и получить менеджер устпновки пакетов с графическим интерфейсов и автоматической установкой и настройкой пакетов
Самым простым сопосбом получиь Perl для CGI это поставить денвер и пакетом расширения ActivePerl - но лучше поставить все самому - кстати в соседнем разделе есть очень важная статья Запуск Perl-скриптов в которой рассказано как все это работает - прочитва ее будет очевидно куда вставить строку print "Hello world"; и как запустить получившуюся программу Улыбка
Если будут еще воаросы спрашивайте

valenok пишет:
Тем более мне еще не приходилось сталкиваться с задачей в веб программировании, когда та прекрасно решалась на одном языке, а на другом была-бы форт ноксом
Данный вопрос обретает более понятный смысл когда речь идет не о простом том или ином языке - а чистом языке без дополнительных нестандартных модулей и библиотек
Например задача написания прогресс-бара при загрузке файлоа на чистом PHP и с использованем простого HTML и JS не может быть разрешима впринципе - ведь простой клиент не дает узнать размер файла а PHP-скрипт запускает только после полной загрузки файла - то есть если во время загрузки мы делаем AJAX-запрос по можно узнать слокь уже закачано а вот из скольких это неизвестно Если использовать специальные библиотеки PHP (Сейчас не скажу какие точно) или ActiveX у клиента (Например flash-загрузчик) то задача становится разрешимой но то не чистое решение в указанном выше смылсе Улыбка
10. voltag - 13 Февраля, 2010 - 09:05:18 - перейти к сообщению
Я ничего не могу добавить к посту JustUserR'а ответ на вопрос который я задавал в теме, я получил...

Спасибо
11. JustUserR - 16 Февраля, 2010 - 18:33:43 - перейти к сообщению
voltag пишет:
Я ничего не могу добавить к посту JustUserR'а ответ на вопрос который я задавал в теме, я получил...
Спасибо
Пожалуйста! Спрашивайте еще Подмигивание

 

Powered by ExBB FM 1.0 RC1