LINUX.ORG.RU

Python или PHP как первый язык…

 ,


0

1

Прежде стоит сказать, что я никогда не был связан с программированием: в школе ничего не проходили и с ВУЗом тоже не повезло. Однако, сдаваться же никто не собирается!

Буквально несколько месяцев назад, спонтанно, ну как это обычно бывает, появилась прекрасная идея, — показалось наверно, — подумал я. А вот и нет. Когда случайно рассказал одному замечательному товарищу — тот поддержал как только мог, и, более того, дополнил — а дополнение стало беспрецедентным мотиватором, каких в жизни своей не встречал.

В бой.

Сейчас мы с ним активно ищем качественный материал для самостоятельного углубленного изучения. Во времени не ограничены никак. Да вообще никак и ничем, что касаемо интернет-материала: нужно заплатить — заплатим, есть что-нибудь толковое в паблике — с удовольствием изучим. А мы уверены, что много чего есть.

Недавно, максимально насколько это было возможно изучили разметку HTML 4.01 и CSS 2.1 согласно спецификациям «W3C» и, сейчас продолжаем HTML5/CSS3. Эта часть, безусловно, никаких трудностей не доставляет ни в теории ни в практике; чего там, собственно, трудного, всё легко и понятно. //Отдельное спасибо за курсы от «Специалиста» людям, которые не хоронят их у себя на компьютере.

Далее.

В выборе серверного языка мы не сошлись взглядами: я за изучение Python и, конечно же, последующее освоение Django; приятель на стороне PHP. Наши позиции не могут быть сколь угодно объективными по ряду обстоятельных причин, поэтому не разумно ограничить себя двумя мнениями.

Итак, о проекте.

Проект социальный. Множество взаимодействий с (дальше пока густой лес), социальный граф, логика как у существующих соц. сетей. Идея абсолютно другая: не третий фейсбук и не десятый контакт. Идея имеет самодостаточную роль в жизни, а потому не высосана из пальца, лишь бы что-нибудь сделать. Полагаю, что свеохнагрузки приходятся не на ЯП, а на БД. Полагаю, что правильная архитектура — залог успеха. И, полагаю, что можно обойтись языком, который всё же больше нравится. Но не исключаю, что есть более компетентные люди, которые развеют мои предположения.

Что изучать тем, кто только пришел в программирование: Python (Django) или PHP (скорее всего Yii)? Или?

Извиняюсь за то, что случайно попал не в нужный раздел — исправлюсь.



Последнее исправление: NiceForce (всего исправлений: 3)

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

И классические «требователи кода» подтянулись.

tp_for_my_bunghole
()
Ответ на: комментарий от linuxnewb

PHP скушал твой мозг. Вы и правда неизлечимы.

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

anonymous
()
Ответ на: комментарий от anonymous

Ну так надо как-то компенсировать классических PHP-«программистов»

Тролли фантазирующие том что знают Haskell никак не компенсируют php программистов.

Здесь python и php, «оба два которых» знаю.

tp_for_my_bunghole
()
Ответ на: комментарий от anonymous

Показывает довольно простой и очевидный факт: чтобы в питоне присвоить переменной функцию, эту функцию, в общем случае, придется сначала объявить. Теоретически, это не проблема. Практически же, когда такие вещи как в примере приходится делть, то это гарантированные грабли.

linuxnewb
()
Ответ на: комментарий от linuxnewb

ОМГ. Ты даже терминологией не владеешь. Не, иди пиши на пыхе, спорить не буду с тобой.

anonymous
()
Ответ на: комментарий от linuxnewb

Нет. По сравнению с пыхом - вполне годная штука. Тут же где-то мелькала ссылочка на PHP: a fractal of bad design. Ознакомься. Столько говна в других языках еще поискать... На фоне отсутствия каких-либо преимуществ... А не нравится Python - бери Ruby.

anonymous
()
Ответ на: комментарий от anonymous

a fractal of bad design

Дадад, знаем-знаем. Когда речь о пхп, то: «fractal of bad design. Ознакомься». А когда о питоне: «Читай pep, ламер, там все написано!»

linuxnewb
()
Ответ на: комментарий от anonymous

Ты врешь. Если бы ты хорошо знал Python, то ты бы не защищал убожество, вроде пыха.

Если бы ты хорошо знал хоть один из них, то я был бы рад за тебя.

tp_for_my_bunghole
()
Ответ на: комментарий от linuxnewb

Так объективно же. В питоне есть недостатки, но он не состоит только из них, как php. По делу-то есть что сказать?

anonymous
()
Ответ на: комментарий от tp_for_my_bunghole

Из языков, имеющих отношение к теме, знаю Python и Ruby. PHP знаю хуже, но это из-за того, что писал на этом говне только когда была необходимость(старые скрипты).

anonymous
()
Ответ на: комментарий от anonymous

PHP знаю хуже, но это из-за того, что писал на этом говне только когда была необходимость(старые скрипты).

Скрипты? Может это не PHP говно, а просто у тебя получалось говно? А Ruby... Может на нём даже говно красиво выглядит? И поэтому не так тяжело на душе?

Composer.phar использовал когда нибудь?

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Не мой это код был, не мой. Composer.phar - не помню такого, значит скорее всего не использовал. Но PHP от этого говном быть не перестанет. Язык, в котором можно делить на 0 обречен на быдлокодеров.

anonymous
()
Ответ на: комментарий от anonymous

По сравнению с пыхом - вполне годная штука

Настолько годная, что питонисты имеют свой недопых с гордым заграничным именем Жанка.

Разумеется, сравнивать питон с пыхом имеет смысл только в области вебдева. И тут у пыха внезапно обнаруживаются некоторые костыли^W особенности, которые хоть и выглядят как костыли^W чужеродно и неказисто, на приктике оказываются костылями^W валенками — удобными, теплыми и приятными на ощупь.

linuxnewb
()
Ответ на: комментарий от anonymous

А чего это вопрос? И питон и руби - нормальные языки, а PHP - ужасен ВО ВСЕМ.

В 6-и из 10-и микробенчмарках на Shootout, php потребляет в 2 раза меньше памяти чем python. В трёх тестах php быстрее чем python в 2~4 раза.

Ruby использует «stop the world» Mark'n'Sweep GC - что изъян если это не GC как у Java или Lua.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Не спорю, Symfony неплох. Про Silex что-то читал, но в деле не видел. Вопрос был какой язык, а не фреймворк выбрать. А как ЯП PHP не так продвинут, как Python(и тем более, Ruby). Многие нужные вещи в PHP появляются на 10 лет позже, чем в нормальных ЯП. Те же примеси доступны только с php 5.4, в 4 версии ООП вообще никуда не годился, и был только для вида. Такое медленное развитие ЯП привело к тому, что многие проекты содержат дикую смесь из простыней процедурного кода, и объектов(добавленных позднее). Код Wordpress хороший тому пример. В общем, плюсы PHP: много специалистов на рынке труда, много литературы, много готовых решений и фреймворков, большая популярность. А главный минус - это отсутствие чёткой стратегии развития языка. В результате PHP похож на проект, в который хаотично добавляют фичи, подсмотренные у конкурентов. К сожалению, популярность PHP привела к тому, что почти все CMS и многие CMF написаны на непонятно как развиваемом ЯП. Недостатки которого нельзя фиксить оперативно из-за пресловутой совместимости. Как платформа для быстрой разработки веб-приложений(используя сторонние фреймворки и библиотеки) - PHP хорош. Как язык программирования, к сожалению, он здорово отстаёт от python и ruby.

lucentcode ★★★★★
()
Ответ на: комментарий от anonymous

Тут же где-то мелькала ссылочка на PHP: a fractal of bad design. Ознакомься. Столько говна в других языках еще поискать... На фоне отсутствия каких-либо преимуществ... А не нравится Python - бери Ruby.

про питон/руби несложно написать тоже самое. Ну на пару пунктов поменьше, ладно. Не 20, а 18. Проблема в том, что этот твой питон, и тем более руби, мало где можно найти. Разве что в Slackware они по умолчанию, а в другие десктопы надо специально ставить. Про сервера и речи быть не может, только если очень попросить. И не всегда соглашаются. В отличие от пыха, который есть всегда.

drBatty ★★
()
Ответ на: комментарий от anonymous

но он не состоит только из них, как php.

ты-бы лучше мануалы читал, а не говном обмазывался. Было-бы больше толку.

drBatty ★★
()
Ответ на: комментарий от drBatty

Утверждаю, что сложно. Ибо только в Пыхе есть описанный маразм. И пока ты не предъявишь тоже самое для питона/руби - ты пустая балаболка.

anonymous
()
Ответ на: комментарий от anonymous

Не мой это код был, не мой. Composer.phar - не помню такого, значит скорее всего не использовал. Но PHP от этого говном быть не перестанет. Язык, в котором можно делить на 0 обречен на быдлокодеров.

там нельзя делить на ноль.

PHP Warning:  Division by zero in /home/drb/Documents/dbz.php on line 3
это такие ОШИБКИ в php.

drBatty ★★
()
Ответ на: комментарий от drBatty

Проблема в том, что этот твой питон, и тем более руби, мало где можно найти. Разве что в Slackware они по умолчанию, а в другие десктопы надо специально ставить. Про сервера и речи быть не может, только если очень попросить.

специально для некрофилов: питон сейчас чуть ли не в каждом десктопном дистрибутиве в базовой комплектации, в дебиане/красношляпе точно.

Deleted
()
Ответ на: комментарий от anonymous

Конечно объективно. Как и в питоне. И, как и питон, не состоит только из недостатков.

По делу: [text] PHP is full of surprises: mysql_real_escape_string, E_ALL PHP is inconsistent: strpos, str_rot13 PHP requires boilerplate: error-checking around C API calls, === PHP is flaky: ==, foreach ($foo as &$bar) PHP is opaque: no stack traces by default or for fatals, complex error reporting [/text]

Все это — чистая концентрированная попоболь ниасилятора. Это видно даже по тому, насколько бестолковые примеры тут приведены, питонист в ответ на нечто подобное №№ 1,3,4 уверенно шлет в PEP.

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

linuxnewb
()
Ответ на: комментарий от drBatty

Так ты и пхп не знаешь? Это не ошибка. Результатом деления на ноль является false, которое, как ты понимаешь, легко скастуется к нулю... Тебе нужно отлавливать это все через одно место. А теперь сравни с исключениями в приличных языках, с inf'ом или даже с сигфолтом в сишечке. PHP явно отличился. И не в лучшую сторону. Идите быдлокодить дальше.

php > $x = 1/0;
PHP Warning:  Division by zero in php shell code on line 1

php > echo $x + 100;
100
>>> 1/0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
anonymous
()
Ответ на: комментарий от anonymous

Ибо только в Пыхе есть описанный маразм. И пока ты не предъявишь тоже самое для питона/руби - ты пустая балаболка.

Нет ты. Для питона есть PEP

linuxnewb
()
Ответ на: комментарий от linuxnewb
php > $x = 100;
php > try {
php {     $x = $x + 1/0 + 10;
php { } catch(Exception $e) {
php {     echo 'exception: ',  $e->getMessage(), "\n";
php { }
PHP Warning:  Division by zero in php shell code on line 2
php > echo $x;
110
anonymous
()
Ответ на: комментарий от anonymous

Язык, в котором можно делить на 0 обречен на быдлокодеров.

Ещё один обрекатель который не понимает о чём говорит...

$x = 0;
// ...
if (!$x) throw new Exception('Division by zero.');
$result = 2/$x;

Деление на ноль возвращает false; Есть константа бесконечности, INF. Функции is_finite(), is_infinite().

В Ruby после 1.9.2 есть Float::INFINITY

Python всегда бросает ZeroDivisionError при деление на ноль, поэтому ты всегда должен добавлять try/catch блок, не можешь просто игнорировать если тебя не волнует эта ситуация. И ты так же не получаешь значение Infinity в python как результат деления на ноль. Что бы получить бесконечность в python: float('infinity')

tp_for_my_bunghole
()
Ответ на: комментарий от anonymous

Что тебе не понятно?

Для питона маразм описан в PEP. Это противоречит твоему утверждению " только в Пыхе есть описанный маразм"

linuxnewb
()
Ответ на: комментарий от tp_for_my_bunghole

Я именно об этом и говорил.

Деление на ноль возвращает false

И это нормально? Особенно на фоне того, что false без всяких проблем в выражении скастуется к 0? Что за бредятина вообще?

anonymous
()
Ответ на: комментарий от tp_for_my_bunghole
php > function f($x) {
php {     if (!$x) {
php {         throw new Exception('aaa');
php {     }
php {     else return 1/$x;
php { }

php > function f2($x) {
php {     return 1/$x;
php { }

php > try { f(0); } catch (Exception $e) { echo $e->getMessage(), "\n"; }
aaa

php > try { f2(0); } catch (Exception $e) { echo $e->getMessage(), "\n"; }
PHP Warning:  Division by zero in php shell code on line 2

Почему так?

anonymous
()

PHP не нужен. Почитай a fractal of bad design, лурку и т.п.

Единственные плюсы - толпы быдлокодеров и куча быдлокода.

anonymous
()
Ответ на: комментарий от anonymous

Деление на ноль возвращает false

И это нормально? Особенно на фоне того, что false без всяких проблем в выражении скастуется к 0? Что за бредятина вообще?

Это нормально. Где ты используешь значение Infinity(бесконечность) в своей работе?

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Это нормально

Любому программисту очевидно, что это идиотизм. И только PHP-программистам это кажется нормой. Вы таки неисправимы.

anonymous
()
Ответ на: комментарий от anonymous

И это нормально?

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

linuxnewb
()

Где-то прочитали что «делить на ноль низзя», и как-то в своей голове связали это с быдлокодом.

На вопрос где они используют бесконечность(результат деления на ноль), ответить не могут.

tp_for_my_bunghole
()
Ответ на: комментарий от anonymous

Любому программисту очевидно, что это идиотизм. И только PHP-программистам это кажется нормой.

А в Жанке вообще делить нельзя, прикинь?

linuxnewb
()
Ответ на: комментарий от anonymous

Полный идиот здесь ты.

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

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

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

не можешь просто игнорировать если тебя не волнует эта ситуация

Да, чувак, пых явно для тебя.

dizza ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.