Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2015 13:30:27

benvolio
Зарегистрирован: 2015-05-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Переход с Perl

Всем привет!
Почти 20 лет пишу на Perl. В последнее время задумался о перспективах работы и решил, что неплохо было бы оставаться на “светлой стороне” (изучить и использовать то, что востребовано на рынке).
Подскажите, есть ли короткий путь переучиться с Perl на Python?
Благодарю!

Офлайн

#2 Май 5, 2015 14:25:45

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Переход с Perl

benvolio
перепиши свой проект с перла на питон, потом удали и перепиши снова, и еще разок, для закрепления

Офлайн

#3 Май 5, 2015 14:39:33

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Переход с Perl

20 лет на перле. Зачем в этом случае питон? Руби будет в самый раз.

Офлайн

#4 Май 5, 2015 19:10:19

benvolio
Зарегистрирован: 2015-05-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Переход с Perl

Ruby? Я мало с ним знаком. Ruby может с той же лёгкостью заменить Perl и Python на уровне создания системного софта? Не веб, а сетевое программирование и т.п.?

Офлайн

#5 Май 5, 2015 20:56:52

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Переход с Perl

Подскажите, есть ли короткий путь переучиться с Perl на Python?
Я начинал с bash, и перешел на python без особых проблем, благо этот язык учится легко.
на уровне создания системного софта
Почему не C, в таком случае?

Отредактировано vanvanov (Май 5, 2015 20:57:24)

Офлайн

#6 Май 6, 2015 00:35:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Переход с Perl

benvolio
Ruby может с той же лёгкостью заменить Perl и Python на уровне создания системного софта?
Вот, например, есть линуксовый загрузчик видео с YouTube'а - youtube-dl, и написан он на питоне. Почему он не написан на перле или руби?

vanvanov
Почему не C, в таком случае?
Сейчас компьютеры такие быстрые, что скорость C не является необходимой при решении многих задач. Как бы не отличишь по скорости эквивалентные программы на C и Python; но делают они не только одно и то же, но и на питоне много готовых и развитых библиотек.



Отредактировано py.user.next (Май 6, 2015 00:36:47)

Офлайн

#7 Май 6, 2015 01:26:08

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Переход с Perl

py.user.next
Вот, например, есть линуксовый загрузчик видео с YouTube'а - youtube-dl, и написан он на питоне. Почему он не написан на перле или руби?

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

P.S. Ну и просто руби - это тот же перл, только с вкрученным ООП (фраза не моя).

Офлайн

#8 Май 6, 2015 03:27:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Переход с Perl

4kpt_III
Потому, что тот кто его писал - знал питон.
Странное совпадение: mirage, которым я просматриваю все изображения, тоже на питоне; утилиты из hplip, которыми я настраивал принтер-сканер, тоже на питоне. И их сделали разработчики, которые друг о друге не знают.

grep -l '^#!.*python' /usr/bin/* | emacs --insert /dev/stdin

/usr/bin/asciinema
/usr/bin/audit2allow
/usr/bin/audit2why
/usr/bin/buildout
/usr/bin/cftp
/usr/bin/chcat
/usr/bin/cherryd
/usr/bin/ckeygen
/usr/bin/conch
/usr/bin/console-script-test
/usr/bin/core_server.py
/usr/bin/csscapture
/usr/bin/csscombine
/usr/bin/cssparse
/usr/bin/csv2ods
/usr/bin/csv2rdf
/usr/bin/cygdb
/usr/bin/cython
/usr/bin/cythonize
/usr/bin/debuginfo-install
/usr/bin/dnf
/usr/bin/easy_install
/usr/bin/easy_install-2.7
/usr/bin/easy_install-3.3
/usr/bin/editra
/usr/bin/f2py
/usr/bin/f2py3
/usr/bin/f2py.numpy
/usr/bin/find-repos-of-install
/usr/bin/firewall-cmd
/usr/bin/firewall-config
/usr/bin/firewall-offline-cmd
/usr/bin/fitscheck
/usr/bin/fitsdiff
/usr/bin/fpaste
/usr/bin/fros
/usr/bin/gtk-recordMyDesktop
/usr/bin/gui-script-test
/usr/bin/gupnp-binding-tool
/usr/bin/helpviewer
/usr/bin/hotshot2calltree
/usr/bin/hp-align
/usr/bin/hp-clean
/usr/bin/hp-colorcal
/usr/bin/hp-devicesettings
/usr/bin/hp-diagnose_plugin
/usr/bin/hp-diagnose_queues
/usr/bin/hp-fab
/usr/bin/hp-faxsetup
/usr/bin/hp-firmware
/usr/bin/hp-info
/usr/bin/hp-levels
/usr/bin/hp-linefeedcal
/usr/bin/hp-logcapture
/usr/bin/hp-makecopies
/usr/bin/hp-makeuri
/usr/bin/hp-plugin
/usr/bin/hp-pqdiag
/usr/bin/hp-printsettings
/usr/bin/hp-probe
/usr/bin/hp-query
/usr/bin/hp-scan
/usr/bin/hp-sendfax
/usr/bin/hp-setup
/usr/bin/hp-testpage
/usr/bin/hp-timedate
/usr/bin/hp-unload
/usr/bin/hp-wificonfig
/usr/bin/img2png
/usr/bin/img2py
/usr/bin/img2xpm
/usr/bin/ipcluster
/usr/bin/ipcluster3
/usr/bin/ipcontroller
/usr/bin/ipcontroller3
/usr/bin/ipdb
/usr/bin/ipdb3
/usr/bin/ipengine
/usr/bin/ipengine3
/usr/bin/iplogger
/usr/bin/iplogger3
/usr/bin/ipython
/usr/bin/ipython3
/usr/bin/irunner
/usr/bin/irunner3
/usr/bin/kajongg
/usr/bin/kajonggserver
/usr/bin/kernprof
/usr/bin/ksflatten
/usr/bin/ksshell
/usr/bin/ksvalidator
/usr/bin/ksverdiff
/usr/bin/lore
/usr/bin/lsusb.py
/usr/bin/mailmail
/usr/bin/mailodf
/usr/bin/manhole
/usr/bin/mglob
/usr/bin/mid3cp
/usr/bin/mid3iconv
/usr/bin/mid3v2
/usr/bin/miniterm.py
/usr/bin/mirage
/usr/bin/moggsplit
/usr/bin/mp_plot
/usr/bin/mprof
/usr/bin/msghack
/usr/bin/mutagen-inspect
/usr/bin/mutagen-pony
/usr/bin/ndiff
/usr/bin/needs-restarting
/usr/bin/nepomuk-simpleresource-rcgen
/usr/bin/nosetests
/usr/bin/nosetests-2.7
/usr/bin/nosetests-3.3
/usr/bin/odf2mht
/usr/bin/odf2xhtml
/usr/bin/odf2xml
/usr/bin/odfimgimport
/usr/bin/odflint
/usr/bin/odfmeta
/usr/bin/odfoutline
/usr/bin/odfuserfield
/usr/bin/package-cleanup
/usr/bin/pilconvert.py
/usr/bin/pildriver.py
/usr/bin/pilfile.py
/usr/bin/pilfont.py
/usr/bin/pilprint.py
/usr/bin/pip
/usr/bin/pip3
/usr/bin/pip-python
/usr/bin/pip-python3
/usr/bin/pudb3
/usr/bin/purple-remote
/usr/bin/purple-url-handler
/usr/bin/pwiz.py
/usr/bin/pyalacarte
/usr/bin/pyalamode
/usr/bin/pycolor
/usr/bin/pycolor3
/usr/bin/pycrust
/usr/bin/pydoc
/usr/bin/pydoc3
/usr/bin/pydoc3.3
/usr/bin/pygmentize
/usr/bin/pygtk-demo
/usr/bin/pyhtmlizer
/usr/bin/pyprof2calltree
/usr/bin/pyshell
/usr/bin/python2.7-config
/usr/bin/python2-config
/usr/bin/python3.3-config
/usr/bin/python3.3m-config
/usr/bin/python3-config
/usr/bin/python3-django-admin
/usr/bin/python3-mglob
/usr/bin/python3-pip
/usr/bin/python-config
/usr/bin/python-pip
/usr/bin/pyuic4
/usr/bin/pyvenv
/usr/bin/pyvenv-3.3
/usr/bin/pywrap
/usr/bin/pywxrc
/usr/bin/qr
/usr/bin/rdf2dot
/usr/bin/rdfgraphisomorphism
/usr/bin/rdfpipe
/usr/bin/rdfs2dot
/usr/bin/replace_console_script
/usr/bin/replace_gui_script
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repo-graph
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/repo-rss
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/rst2html
/usr/bin/rst2latex
/usr/bin/rst2man
/usr/bin/rst2odt
/usr/bin/rst2odt_prepstyles
/usr/bin/rst2pseudoxml
/usr/bin/rst2s5
/usr/bin/rst2xetex
/usr/bin/rst2xml
/usr/bin/rstpep2html
/usr/bin/runant.py
/usr/bin/sandbox
/usr/bin/sb_bnfilter.py
/usr/bin/sb_bnserver.py
/usr/bin/sb_chkopts.py
/usr/bin/sb_client.py
/usr/bin/sb_dbexpimp.py
/usr/bin/sb_evoscore.py
/usr/bin/sb_filter.py
/usr/bin/sb_imapfilter.py
/usr/bin/sb_mailsort.py
/usr/bin/sb_mboxtrain.py
/usr/bin/sb_notesfilter.py
/usr/bin/sb_pop3dnd.py
/usr/bin/sb_server.py
/usr/bin/sb_unheader.py
/usr/bin/sb_upload.py
/usr/bin/sb_xmlrpcserver.py
/usr/bin/scrapy
/usr/bin/serviceconf
/usr/bin/show-changed-rco
/usr/bin/show-installed
/usr/bin/sphinx-apidoc
/usr/bin/sphinx-apidoc-3.3
/usr/bin/sphinx-autogen
/usr/bin/sphinx-autogen-3.3
/usr/bin/sphinx-build
/usr/bin/sphinx-build-3.3
/usr/bin/sphinx-quickstart
/usr/bin/sphinx-quickstart-3.3
/usr/bin/system-config-services
/usr/bin/tap2deb
/usr/bin/tap2rpm
/usr/bin/tapconvert
/usr/bin/telepathy-gabble-xmpp-console
/usr/bin/tkconch
/usr/bin/trial
/usr/bin/twistd
/usr/bin/uniconvertor
/usr/bin/urlgrabber
/usr/bin/verifytree
/usr/bin/virtualenv
/usr/bin/virtualenv-2.7
/usr/bin/xml2odf
/usr/bin/xrced
/usr/bin/youtube-dl
/usr/bin/yum
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yumdownloader
/usr/bin/yum-groups-manager

А на руби нет ни одной программы.



Отредактировано py.user.next (Май 6, 2015 03:29:03)

Офлайн

#9 Май 6, 2015 10:57:11

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Переход с Perl

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

Офлайн

#10 Май 6, 2015 11:12:59

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Переход с Perl

benvolio
да берете книгу и читаете, практикуетесь по ходу. Если желание большое - у вас все получится, в противном случае … забросите и делов то.

ОФФТОП:
ползуюсь одной программой на перле - торрент-сервер. Смотрел на ее код, ужаснулся слегка ) ПОнял одну из причин любви к Питону. Матерый код на Си не так страшен порой =).
НУ а вообще ничего не имею против какого либо ЯП, каждому свое, каждому свою, то ли тараканы, то ли кактусы =)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version