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)

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

И вы, сер, осмелились спорить со мной?

Ну так разбирался бы ты в веб-технологиях - конечно не осмелился бы.

Я вам, сер, описал происходящие на примерее аналогии.

Аналогии сосут. Говори прямо.

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

Наличие классов не означает применение ООП. Есть вырожденый случай ООП, когда доменные классы не моделируют никакого поведения, а логика расположена в других классах. Называется это Anemic Domain Model.

http://en.wikipedia.org/wiki/Anemic_domain_model

«Clear separation between logic and data (Procedural programming).»

Подробности можно читать у Дяди Боба в «Чистом коде», Глава 6. Или у Мартина Фаулера, паттерн Transaction Script.

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

Да не лепи горбатого. Понятно что там есть в Django.

Но ты же давая ссылку не понял что там сравнивается сгенерированный код в Symfony и написанный руками для Django. Eщё пытаешься после этого аргументировать принципом DRY.

Просто пойми, что Symfony этот код сгенерировала, его не надо писать изначально как для Django, и в сгенерированном коде все нужные методы и вся информация ЯВНО.

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

О каких Cоmments ты говоришь? Это бред, в том коде для Django нигде никак не упоминается Comments, с чего ты взял что там есть Comments? Это ты сам придумал? Нет? Так почему я могу узнать что у модели Blog есть Comments только читая код который сгегерировала Symfony?

И я всегда предпочту Web2py в ущерб Django. В web2py хоть не надо всё импортировать что предоставляет framework, оно всё доступно имплицитно.

tp_for_my_bunghole
()

Автор, позволь поинтересоваться почему всё таки руби?!

ROR не подойдет для (теоретически) крупной соц. сети, хоть он и удобный и в нем много классного, но он уж очень-очень медленный. Взгляни на вконтакт — пыха уделывает его по скорости: сравнить vk с groupon или huhu, или любым крупным проектом на руби, то в скорости руби существенно проседает: те самые миллисекунды, на которые многие не обращают внимание — будут играть против вас, если взлетите. Делайте выводы.

И, самое главное, не смотри в сторону фреймворка — он тянет много-много не нужного — научитесь делать свой и, главное, не бойтесь потратить время на понимание своего, чем чужого. Фреймворк и крупный проект — не совместимы априори.

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

Да не лепи горбатого. Понятно что там есть в Django.

На сколько ты показал - тебе не понятно.

Но ты же давая ссылку не понял что там сравнивается сгенерированный код в Symfony и написанный руками для Django.

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

Eщё пытаешься после этого аргументировать принципом DRY.

Да так и есть, например не нужно явно описывать PK, get-еры, set-еры, OneToMany и т.д.

О каких Cоmments ты говоришь? Это бред, в том коде для Django нигде никак не упоминается Comments, с чего ты взял что там есть Comments? Это ты сам придумал? Нет?

Эти модели одинаковы. В Симфони есть ссылка на Comments (в обоих случаях эта модель опущена). И в симфони нужно явно описывать OneToMany, а джанго этот функционал предоставляет без дополнительных телодвижений. Если ты такой элементарщины не знаешь/не понимаешь, то о чем с тобой вобще говорить?

И я всегда предпочту Web2py в ущерб Django. В web2py хоть не надо всё импортировать что предоставляет framework, оно всё доступно имплицитно.

web2py это минифрэймворк, поэтому есть смысл подгрузить все модули сразу, тут даже сравнивать нельзя. То, что в джанго надо явно импортировать модули - это достоинство full-stack фрэймворка, в нём в отличии от симфони тормоза не нужны.

Но если ты такой фанат dependecy-injection - на питоне это пишется за 10 минут, только врядли это кому-то нужно для django.

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

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

Сор, не обращяйте внимание на этот комент.

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

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

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

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

Только тут у тебя путаница из-за не знания. Это Symfony берет фишки у Django/ROR а не наоборот.

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

Только тут у тебя путаница из-за не знания. Это Symfony берет фишки у Django/ROR а не наоборот.

Я это и имел в виду. И ввёл. У Symfony этих «фишек» больше чем у всех остальных. Потому что не просто добавляют «шоб было», а изучают саму суть, для каких задач нужно, как лучше реализовать.

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

web2py это минифрэймворк, поэтому есть смысл подгрузить все модули сразу, тут даже сравнивать нельзя.

Web2py по сути это эволюция Django. И лучше, и гибче. Но все используют Django, потому что в топе MTV.

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

web2py это минифрэймворк, поэтому есть смысл подгрузить все модули сразу, тут даже сравнивать нельзя. То, что в джанго надо явно импортировать модули - это достоинство full-stack фрэймворка, в нём в отличии от симфони тормоза не нужны.

Ты даже не в курсе о web2py. Спутал с web.py Других фанатиками называет.

Что вы все так ярлыки вешаете? Это вас успокаивает, хочется о себе думать как о крутых программистах которые просто причастны к какому-то HYPE?

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

Спутал с web.py Других фанатиками называет.

Спутал и что?

Web2py по сути это эволюция Django. И лучше, и гибче.

Чем? Хотя ты врядли знаешь, т.к. о Django у тебя представление уровня - «Django, потому что в топе MTV.»

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

У Symfony этих «фишек» больше чем у всех остальных.

Ну расскажи что есть у симфони чего нет в Django. Мне интересно, т.к. я с симфони работал только во времена 1.x

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

Ну расскажи что есть у симфони чего нет в Django. Мне интересно, т.к. я с симфони работал только во времена 1.x

Symfony 2 уже совсем другое.

Я не отговариваю тебя от Django, если ты себе это представил.

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

Symfony 2 уже совсем другое.

Да я в курсе, вот мне и интересно чего там такого наделали фантастического.

Я не отговариваю тебя от Django, если ты себе это представил.

Фух, а то я уж испугался.

pi11 ★★★★★
()

все комментарии сверху не читал, мои 5 копеек
Сам знаю оба языка (и еще пару других) и могу сказать, что оба языка - хороший стартовый вариант, если сравнивать ваш выбор Framework'ов, то Django лучше, чем Yii (no comments).
Скорость работы языков и исполнение примерно одинаковое, смело плюйте в лицо тем, кто вам будет говорить о скорости Python и как быстро у вас все заработает, если это переписать на Python, Stack которым вы будете пользоваться имеет большее значение, чем серверный ЯП, нагрузка действительно всегда на базе данных и это та область которую нужно будет хорошо изучить.
Кроме того, сейчас имеет огромное значение фронтенд и его оптимизация, это так же область которую нужно хорошо знать для успешного приложения в вебе.
Можете спорить с другом, а можете наступить на свою гордость и начать делать проект вместе. Выбор за вами.

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

Ой, как хорошо! Уиииии не будет. Одним уродским PHP-фреймворком меньше.

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

PHP в разы популярнее шарпика. И кто теперь маргинальщина?

anonymous
()

приятель на стороне PHP

PHP - это вещь для написания домашних страничек: язык, функционирование которого зависит от конфига, смешно рассматривать в качестве чего-то самостоятельного.

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

Да, ведь начинать ходить на руках, так и не научившись на ногах, куда лучше, да ?

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

Scala и Haskell уже трупы, лежащие в морге и ожидающие своего захоронения. Пытаться воскресить их божественными молитвами равносильно попыткам заставить палку выговорить слово.

Sharezil
()

Автор, если в дальнейшем желаешь заняться программированием всерьез - учи Си. Как выучишь, чисто из приличия ради, можно освоить C++, ибо без него сейчас и работу сложно найти, конечно если не системником, но там одним Си маловато будет, тогда и Asm, чтобы вплотную можно было кодировать машинный код у себя в мозгу и потом переписывать готовые программы в микроконтроллер :) А вообще, если следовать истории компьютерной индустрии, то самые основные языки были: Assembler,Fortran, Ada,Basic, C, C++. Если и начинать учить какие-то языки, то начинайте всё с самого начала, потом по-цепочке до самого конца :)

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

На Java основной спрос ссылается на мобильные платформы. На обычных ПК её уже можно считать мертвой. C# примерно так-же, но я бы заменил в этом списке Java на C++. И по возможности, на нем бы и окончил.

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

Странно, вроде толсто, а звёзд у тебя ни одной пока.

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

Scala и Haskell уже трупы

А мужики-то не знали.

anonymous
()

Смотрю тут много джангистов. Нам требуется опытный программист-хирург, который сумеет препарировать, удалить опухоль или установить имплант в тело больного кода.

Обязательные навыки:

– знание Django/Python как «отче наш»;

– отсутствие брезгливости к выполнению грязной работы и копанию в чужом го... коде;

– брутальный подход без соплей, что приходится избавляться от оставленных в теле инструментов чьих-то ошибок;

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

– работа в районной поликлинике с низкими бюджетами;

– умение работать с репозиториями в BitBucket и с задачами в Jira.

Писать на bidlocontoral@govnomail.co.za

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

Ты знаешь, что это за придурок? Как я понял, когда кто-то наезжает на Scala или Clojure, он отвечает «1ce, это ты?». Где-то год этот идиот тут сидит. Возможно, это тот, который хотел выучить Scala/Clojure и свалить Пало Альто.

Скорее всего 1ce - это его какой-то его школьных друган, обосравший Scala на переменке.

anonymous
()

Никакого пыха только Python!

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

Вы только посмотрите. Как у него бомбануло! Все равно никуда не денешься.

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

Пф. Перейти с пыха на любую технологию можно без проблем, если ганглий не загнил. Но зачем?

anonymous
()

то изучать тем, кто только пришел в программирование:

Cи,stdlib,алгоритмы.

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

Я думаю, что там речь шла об использовании результата в выражении. Т.е. поделили на 0, что-то еще сделали и т.п. В пыхе, как я понял, деление на 0 будет в выражении участвовать как 0. Что, конечно же, печально.

forCe
()

Да не в языке дело... Python элегантней, Руби тоже на уровне. Но я советую учить JavaScript первым, а затем Java :-) Сервер сайд начать кодить на node.js - это сейчас модно и годно)

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