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)

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

Нет, язык определяется и синтаксисом и немного семантикой. Это письменный язык и основа его - синтаксис, а уж семантика у всех ЯП в общем-то одинакова.

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

Семантикой язык определяется только для тех, кто осиливает эти языки на уровне бейсика 9-го класса - ты из них, да и ты клал на свою семантику, ибо сделал детский фейл и потом доказывал мне, что это не фейл, а теперь игнорируешь его, ибо попец пригорел.

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

Это письменный язык и основа его - синтаксис, а уж семантика у всех ЯП в общем-то одинакова.

ОЛОЛО, ты ещё скажи, что естественный язык и язык програмирования - одно и то же.

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

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

Меня не интересует, что там происходит в твоём заедумирке, а так же твои заедушные аргументы, аля «нука покажи мне не идиона - их почти нет, значит идиотом быть правильно - топаргумент».

Запомни одну вещь 95% выбирают «инструмент» не по его качеству, а по простоте его удобства и потому, что сказал дядя вася - это оснвоа мира.

Ты даже хелворд не напишешь на уровне епулины и 20-ти строчек, который будет на порядок выше в тех 3-х словах, чем любое твоё поделие, но как ты знаешь - это будет самое простое для тебя и если для меня единица логики ничего не стоит, то для тебя она стоит в десятки, сотни, тысячи раз дороже.

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

Очередной лиспёр? Твой язык даже для конфигов не годен и юзается максимум как скриптоязык, и то в качестве обёртки над Сиапи. Я же говорю про реальные, а не вымышленные ЯП.

В реальных языках 80% используемых синтаксических конструкций отличаются в семантике минимально.

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

Писать на плюсах - это будет последнее, что я сделаю в жизни.

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

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

Из школы его скорее всего выгнали. Он явно лечится в специализированном заведении для у/о.

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

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

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

Еще скажи функциональщина в яве просто рай. Вот взгляни:

http://stackoverflow.com/questions/6134278/does-java-support-currying

http://ru.wikipedia.org/wiki/Каррирование

Клево, да? :)

В процедурном стиле и на жабе писать можно

И раз ты заикнулся. Давай пруфы. Вот чтобы без классов и прочего. Чисто процедуры.

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)

Реально? Ну давай проверим. Проверил - юзаем 2 пайпа и гоняем как-то так.

    if(!fork()) {
      for(j = 0; j != 1000000; ++j) {
	read (fd1[0],&i,sizeof(i));
	write(fd2[1],&i,sizeof(i));
      }
    } else {
      for(j = 0; j != 1000000; ++j) {
	write(fd1[1],&i,sizeof(i));
	read (fd2[0],&i,sizeof(i));
      }        
    }
6.6сек

Потом поочерёдно врайт, врайт, реад, реад - 1.7сек

Какбэ 4сек на 100тонн ~= 0.002.5сек(3.5ггц кора2д), ну на хардварном уровне я думаю, что можно сейчас выжать 20гигов на запись. Ну где-то увеличит контекст свич до ~0.00.27-30 на 4-10метров кеша.

Даже 10% не даст, но каждый свич дампить не надо, можно дампить при переполнении, либо ещё как-то. Если вменяемо запилить - это даже 1% не даст - твоя аналитика достойна похвалы.

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

О чем хоть спорите-то уже? Сишка, sizeof в рантайме и пр. Что это? И какое отношение имеет к сабжу?

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

Вот что получается, когда встречаешься с типичными PHP проектами - http://www.pi11.ru/2012/03/02/fucking-php-zend/

Типичныe php проекты сейчас это Symfony, Silex, Doctrine, composer.phar;

Ни у ruby, ни у python нет подобного по готовности. Хотя многое в перечисленном выше для php перенято у всех и доведено до ума.

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

Вот что получается, когда встречаешься с типичными PHP проектами - http://www.pi11.ru/2012/03/02/fucking-php-zend/

Про Optimizer и прочее я вообще не понял что это и зачем. Это вообще какая-то типичная российская ситуация, мне кажется. Свой, особый путь.

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

Совет о yiiframework...

Я дальше их(его) главной страницы не иду по ссылкам.

Yii only loads the features that you need.

Это dependency injection(я так думаю). И в Symfony/Silex это и называют - dependency injection.

Yii довольно наивная реализация всего. CodeIgniter - примитивизм. Zend - морально устарел.

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

Namespaces в PHP и структура кода Symfony/Silex позволяют быстро находить любой код даже работая в Emacs, без «go to definition» от IDE.(ctags чаще неудовлетворителен)

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

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

Ты не умеешь читать? Python, Ruby, Scala, да сейчас хоть явашарпы бери...

Перечисление 3-х языков и префикс «ява» перед упоминанием шарпа, это такое «завуалирование».

Mono это хорошая техническая реализация виртуальной машины, но в целом туфта при рассмотрении.

Я понятия не имею что такое .ASP, и каждый раз при приближении оно вызывало неприятие.

Я до сих пор не знаю где там заканчивается сама виртуальная машина, а где начинается библиотека. А затрачивать усилия на разбирательства нет желания. Слишком там всё подозрительно.

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

Кстати зря удалили, давно таких смешных тем на ЛОРе не было.

Клоунам — спасибо, кастуйте меня на следующую клоунаду.

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

Типичныe php проекты сейчас это Symfony, Silex, Doctrine, composer.phar;

Symfony это тормозная кака - http://blog.curiasolutions.com/the-great-web-framework-shootout/

Ни у ruby, ни у python нет подобного по готовности

Чего тебе не хватает в Django или в ROR?

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

А как удобно в симфони с моделями работать, просто сказка - http://notesondjango.wordpress.com/2012/12/17/symphon2-vs-django-models/

Если модель будет большая, то чтобы просто охватить её взглядом - посмотреть какие поля и их тип придется несколько экранов кода листать. В ROR и Django действительно нет такого, ты прав =)

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

В соответствии с духом твоей аватарки, ты теперь должен говорить не «говно», а «фу». Типа «винда - фу!»

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

Да, да я зафейлил, свичей получается 100тонн в секунду, если дампить весь кеш, то да будет много - анонимус прав, но этого делать не надо, а дампить весь кеш никогда не надо, ибо весь его юзает 1% кода, поэтому в среднем будут гоняться сотни килобайт.

Вобщем я не вижу тут проблемы, да и самые «жаркие» контексты можно дампить в кеш, что его только ускорит.

superhackkiller1997
()

Сер tp_for_my_bunghole и сер pi11, вот вы спорите, а реально о чём? Пхп игрушка, питон и руби игрушка - выбирай цвет машинки, ибо иным они не отличаются. Ну да, там есть тысячи попыток сделать из питона не игрушку, но это обречено на провал.

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

Это по сравнению с PHP? Ну ты смешной.

А как удобно в симфони с моделями работать, просто сказка - http://notesondjango.wordpress.com/2012/12/17/symphon2-vs-django-models/

Тормозная кака это те кто сравнивает код написанный для Django с кодом сгенерированным из командной строки Symfony2, в которой есть автодополнение в контексте фреймворка. Где там в примере для Django описание OneToMany зависимостей? В комментах методов для php ты видишь аннотации, которые используются для генерации базы данных из командной строки. Так же обычно используются готовые тестовые данные в DB для разработки - fixtures.

Django больше напоминает Joomla CMF, но без готовой CMS.

В Symfony можно взять существующую хоть 100 мегабайтную базу, преобразовать её в fixtures и сгенерировать из командой строки полностью если в mysql стереть все следы этой базы.

В твоей ссылке откровенная лживая подтасовка.

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

CodeIgnite хорош, не нужно читать 1005000 мануалов, а взять и работать.

Потому что примитивизм. Я уже лучше предпочту Joomla CMF. Быстрее получу деньги на свой счёт.

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

Ну это как посмотреть. А нормальные аргументы будут, мой опытный программист?

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

Где там в примере для Django описание OneToMany зависимостей?

Его нет дружок, потому что django автоматически его предоставляет, если у модели Comments есть поле ManyToOne. Но кому я говорю, ты же сам спец.

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

В коде Django все это тоже есть, только там не нужно для этого столько писанины. DRY.

Так же обычно используются готовые тестовые данные в DB для разработки - fixtures.

man django-admin loaddata/dumpdata

Django больше напоминает Joomla CMF, но без готовой CMS.

Да ты я смотрю специалист по Django/

В Symfony можно взять существующую хоть 100 мегабайтную базу, преобразовать её в fixtures и сгенерировать из командой строки полностью если в mysql стереть все следы этой базы.

Вау! Вот это уникальная фича! Что правда даже 100 мегабайтную??

man django-admin loaddata/dumpdata

В твоей ссылке откровенная лживая подтасовка.

Да всё с тобой понятно, господин фанатик.

pi11 ★★★★★
()
Последнее исправление: pi11 (всего исправлений: 1)
Ответ на: комментарий от superhackkiller1997

Сер tp_for_my_bunghole и сер pi11, вот вы спорите, а реально о чём? Пхп игрушка, питон и руби игрушка - выбирай цвет машинки, ибо иным они не отличаются. Ну да, там есть тысячи попыток сделать из питона не игрушку, но это обречено на провал.

И веб-приложения нужно писать на сишке, да?

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

а на Бидоне так:

a = []
a.extend(["Hello", "world", "!"])
for s in a:
    print(s, end=" ")
bismi
()
Ответ на: комментарий от pi11

Деткам играться в песочнице(любоая ВМ и интерпритатор песочница, авось не дойдёт питросянства) надо, а строить из готовых, кубиков( всяких готовых классиках, фрамеворках и т.п.) с одинаковыми креплениями, а то авось ребёночек на разберётся в нескольких видах креплений - будет плакать.

А суровым дядям надо ваять эти кубики и песочницы, ради маленьких деток, чтобы они не запутались в битиках и не снесли свой домик плохими расчётами и архитектурой, а так кубики квадратные - криво не построишь, пофиг, что будет одна и так же, квадратная не кастумизуемая в нужную форку байда - кого это волнует. Лишная тонна там - лишняя тут( отгадай почему металоконструкции такой интересной формы? Для деток это сложно, но иначе они рухнут под собственным весом - вот у деток так и выходит).

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

Яж тебе уже говорил - нужны те заветные три слова - да, но эти 3 слова никому не нужны, поэтому нет, а тем кто нужны - пишут на сишке( максимум плюсы).

Как-то так.

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

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

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

Прочитал наискосок, твой тезис - «Веб - для детей».

Я правильно тебя понял? А то лень вчитываться. Пиши кратко, ладно?

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

Ты показал суть веба - тебе лень вчитываться и понимать меня, тебе лень вчитываться и понимать машину, софтварный и программный уровень, лень понимать вообще что-то.

Коротко и бессмысленно - ты напишешь на своём пхп, а если тебе не интересно что-то сложнее детского лепета, то не говори со мной.

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

Ты показал суть веба

Дружок, я хоть раз в этом треде написал, что я программист?

а если тебе не интересно что-то сложнее детского лепета, то не говори со мной.

Если у тебя каша в голове, это не значит, что я обязан в ней копаться. Пиши кратко, по делу. А лень мне - понимать твой поток мыслей.

pi11 ★★★★★
()
Последнее исправление: pi11 (всего исправлений: 1)
Ответ на: комментарий от pi11

<< Дружок, я хоть раз в этом треде написал, что я программист? И вы, сер, осмелились спорить со мной?

<< Если у тебя каша в голове, это не значит, что я обязан в ней копаться. Пиши кратко, по делу. А лень мне - понимать твой поток мыслей.

Какая каша? Я вам, сер, описал происходящие на примерее аналогии. Что вам не ясно? Объясните мне.

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