Как стать Back-End разработчиком? Что выбрать Python или PHP?
Что касается самой профессии back-end разработчик, то здесь вы будете писать логику веб-сайтов. Back-end программирование – это вся логика веб-сайта, именно благодаря языкам back-end’а у вас есть возможность регистрации, оставление комментариев, ставить лайки, добавлять друзей и переписываться с ними.
Языки back-end’а питаются ресурсами компьютера, а именно процессором, местом на жестком диске.
Перед тем как вообще задуматься о том чтобы изучать серверную разработку настоятельно стоит изучить front-end программирование, хотя бы на поверхностном уровне. Более того вы уже должны уметь свободно работать с компьютером, понимать как он устроен хотя бы на минимальном уровне.
Понимать что такое ОЗУ, процессор, тактовая частота, количество ядер, northbridge и виртуализация процессов. Знать чем отличается ssd от hdd и что такое gbp, что такое интернет и как работает.
Вы конечно можете начать изучение серверной разработки и без знания всего приведенного выше, но в этом случае не гарантируется полное или хотя бы частичное и понимание того как работает сервер. А значит непонимание того как будет работать ваш код и как его писать правильно, чтобы эффективно решать поставленные задачи.
Выбор своего языка
Для создания серверной части веб-сайта их очень много, но лишь некоторые подходят для этой цели лучше других. Речь идет о языках Python, PHP, Java-script.
PHP
На фрилансе PHP занимает лидирующие позиции уже много лет. Забудьте о вопросах за какое время можно изучить, сколько нужно изучить, когда понять что учеба завершена, и все такое. Ответов на эти вопросы не существует, так как время на учебу сильно варьируется от человека к человеку.
Этот языка постоянно улучшается и расширяется, а технологии не стоят на месте этим все и объясняется. Кому-то PHP нравится, кому-то нет. Но в конце концов замены ему сегодня как таковой нет. Ни Python, ни Ruby, даже Java-script не являются полноценной заменой для PHP, так как являются языками более обще направленными.
На PHP также написаны такие веб-сайты как, Yahoo!, Википедия, Tumblr и так далее. Чтобы написать свой первый блок можно вполне потратит в районе двух недель на изучение этого языка. PHP был спроектирован таким образом, чтобы предоставить все нужные функции для эффективного проектирования веб-сайтов.
Python
С этим языком сложнее. Сначала нужно изучить язык с каким-нибудь веб-фреймворком, чтобы иметь представление, что такое фреймворки.
Изучать сам Python стоит по книгам либо по видеокурсам, а лучше все вместе. У Python есть отличный репозиторий библиотек под названием PyPi. Там есть практически любые библиотеки для разных целей, причем они все достаточно легко устанавливаются при помощи пакетного менеджера Python. Однако далеко не все пакеты одинаково легко ставятся на винду, а некоторые вообще не ставятся, поэтому в идеале python лучше изучать и работать с ним на Mac или Ubuntu.
Что касается версии то у Python здесь достаточно интересная ситуация существует две ветки, а именно версии 2 и 3. Само собой третья версия новее и интереснее, однако, и со второй версии разработчики Python пока не прощаются.
Java-script (Node.js)
Многие будут удивлены увидеть Java-script в списке языков для back-end программирования. Вот только расширенный Java-script предназначенный для работы на сервере. Иными словами Node.js – это серверный Java-script, а это значит что вам сначала нужно изучить сам язык Java-script, а уже потом изучить особенности Node.js.
Что касается самого Node.js то чтобы его изучить придется посетить официальный веб-сайт Node.js в частности раздел документации. Только там вы в любой момент сможете найти самые актуальные данные и спецификацию. Можно посмотреть разные видеокурсы по Node.js дабы закрепить знания.
Однако написание веб-сайтов не является основной целью Node.js, тем не менее на нем вполне без проблем пишутся веб-сайты при помощи фреймворка.
Что должен знать Back-End программист?
По итогам изучения любого из представленных языков и соответствующих технологий вы в принципе должны:
1. Уметь работать СУБД MySQL, знать основы синтаксиса языка SQL.
2. Экспортировать и импортировать базы данных, понимать, что такое индексы в MySQL для чего они нужны.
3. Понимать в чем разница между интерпретатора между компилятором, уметь работать с базой данных из выбранного языка программирования, понимать типы данных, понимать, как создаются сайты, без проблем уметь создавать свой собственный блог с нуля.
4. Уметь создавать регистрацию и авторизацию на сайте, создавать возможность авторизированному пользователя редактировать свой профиль и загружать аватарку, уметь создавать административную панель для владельцев веб-сайтов который сам сможет управлять веб-сайтом.
5. Уметь подключать кассу для приема платежей на сайте.
6. Уметь работать с API хотя бы поверхностно при помощи выбранного языка программирования.
7. Понимать, что такое паттерны программирования, знать паттерны программирования.
8. Понимать, зачем нужен https и работать с Node.js.
9. Защищать свой сайт от xss атак и от SQL инъекций.
Представленный список требуемых знаний является достаточно эффективным и позволит вам разрабатывать любые проекты легкого уровня сложности, дальше вы уже и сами сможете понимать, что где и как изучать.
Что учить, PHP или Java и почему?
Возникла такая дилемма, никак не могу определиться что лучше. Может кто-то с таким сталкивался или просто выскажет своё мнение по этому вопросу, буду очень благодарен. Ситуация такая. Живу в Киеве, мне 18 лет, работаю в компании по web-разработке. Начал заниматься web года пол назад. Сразу начал работать. Начинал с CMS типа wordpress и joomla, позже стал работать с php. Сейчас учу php, в данной работе он мне необходим. Уровень у меня скажем не высокий. Чтоб понимать примерно — есть написанный мною всего один плагин для wordpress. В работе использую php ежедневно, но мне требуется дополнительное изучение. Это первый момент.
Второй момент. Есть в планах уехать в Германию (через года 2). После мониторинга вакансий там, я понял что на php далеко не уеду. Там сфера web не особо развита и спрос на неё маленький. А учитывая, что я там буду иностранец хотелось бы иметь более распространённую там направление (java в Германии один из самых востребованных языков).
Не раз я задумывался о java, сейчас посмотрев на рынок Германии понял что надо её учить, а не php.
Всё-таки душа лежит к web-разработке, но так же очень интересует например мобильные приложения на java.
Собственно сам вопрос. Кто как считает, стоит сейчас начинать учить java параллельно работая с php на работе, либо вывести на относительно средний уровень php и после начать работать с java? Либо вложить все усилия в php и ехать в Германию пытаться найти работу с этим языком (вариант самый нежелательный)? Интересует любое мнение (в том числе возможно затраченные сроки, силы).
Подобається Сподобалось 0
До обраного В обраному 0
Схожі топіки
- Python, JavaScript, React і Linux. Перелік із 30+ безплатними курсами для розробників
- Можливо хтось мав досвід вивчення Java після PHP?
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
120 коментарів

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Василь Коломієць Бізнес-консультант 08.02.2016 15:45
Судя по топику рядом, не важно что учить, главное чтоб не GO.
Если вы сейчас работаете PHP программистом, то лучше развиваться именно в этом направлении. Практика на работе + теория во время самообучения = хороший специалист.
А еще нужно учить английский, что бы можно было пройти собеседование по скайпу или лицом к лицу в Германии.
Так же советовал бы уже сейчас откликнуться на PHP вакансии в Германии хотя бы ради интереса. Если вам предложат пройти собеседование, то это уже будет успех, значит нужно развиваться в этом направлении.
Распылятся на два разных направления — не очень эффективно.
Что именно учить по PHP можно посмотреть тут: atoumus.github.io/PHP/2016-php-trends.html
И вот хороший блог о иммиграции программиста в Германию: www.tupa-germania.ru
Посмотрел на статистику CI. Jenkinks всех уделывает. Кто может объяснить почему? Bamboo намного функциональнее
Возможно потому что Jenkins бесплатный ) Мне самому он как то не очень, даже с точки зрения юзабильности интерфейса)
хм. Интересная идея)
Якщо коротко, то будь-яка сучасна популярна мова програмування дасть тобі можливість працевлаштування. Якщо, звісно, володієш нею на хорошому рівні і є досвід.
Якщо ж детальніше, то тут короткий огляд кількох мов програмування від мене: www.vitaliypodoba.com/. python-is-good-for-start
есть еще такое мнение,по харькову если что.
Местные Java-разработчики и компании, которые брали заказы на разработку Java-приложений (минус Андроид, по нему отдельный разговор), оказывается, находятся сейчас в весьма тяжелом положении. Новых проектов на Java мало, то что есть на рынке — в основном саппорт, и не требует большого количества рабочих рук. В результате те компании, что делали ставку на Java-разработку — вынуждены менять специализацию, сворачивать обьемы или уходить с рынка.
Igor Lytvynenko Java Developer 23.07.2015 19:48
Для web писати на php.
Решта — на java.
Знати варто обидва напрямки.
PHP+js+html+css дозволять проникнутись життям в web, без чого сьогодні, як на мене, ніяк.
Але там багато сутностей немає або не використовуються.
Java ж більш ортодоксальна мова: багатопоточність, робота з системою, структури даних, мережі, .
Якщо в цьому не розібратися, потім буде важче.
Можна потикати формочки ще на C#. В цій мові є свої «приколи», які варто розібрати (аля linq, async)
Крім цього не забувайте класичний Computer Science . почитайте Кормена, якщо ще не прочитали. Це діло сьогодні дуже недооцінюють. Як на мене, без цих знань програміст як архітектор без сопромата.
Oleg Androshchuk Java developer в Amazon 23.07.2015 19:09
В 18 лет башка, если она есть, способна учить и более двух языков. Работайте на пехепе, паралельно пишите что-то для мобилки в джаве.
угу, в результате в голове будет каша, и ниспособность нормально писать ни на том ни на том
бред
в 18 мозги свежие и впитывают знания, как губка — только учиться и учиться
а если что-то и смешается, то практика все равно расставит на свои места и у человека будет дополнительное знание про отличия
при правельной программе/подходе — возможно. На практике же, приходящие на собес ребята «я знаю несколько языков11» — оч жалкое зрелище.
Если хочеться создать рабочий value, то лучше сфокусироваться, и углубленно изучать и практиковать чтото одно.
ага. Приходят и рассказывают что INT(11) в MySql это integer c максимальным размером значения в 11 бит
в 18 мозги свежие и впитывают знания, как губка — только учиться и учиться
чему и как — вот в чем вопрос веками.
хаотичные знания и навыки vs упорядоченные знания и навыки.
уже упоминали, и присоединяюсь
изучать PHP и параллельно штудировать что-то типа «Алгоритмы: построение и анализ» Кормена (или DDD Эванса, . )
приведут к более упорядоченным знаниям, чем
«пыхнул», наваял тудушку на андроиде, глянул чатик на ноде джс, .
Ага а потом получится как у тебя:
JS, PHP, Java, «Enterprise», 1С, gamedev, C, assembler
Только в итоге нихера не знаешь и не умеешь
тяжелее всего учить первый язык, потом гораздо легче. тем более java очень похожа на php (за исключением синтаксического сахару, да и вообще все языки похожи)
но я бы лично рекомендовал учить sql, стэк: lamp + nodejs, nosql , ну и нормальные фреймворки (wordpress это то, за что критикуют php)
Делайте то, в чём сможете быть эффективным. То есть то, что нравится или по крайней мере не сильно утомляет.
Нравится возиться с сайтами — есть PHP, mainstream’овый mainstream.
Нравится возиться со сложными сайтами — есть Java (Java EE, Spring MVC). Плюс знания Java — это основа для перехода в другую область, при желании.
Лично мне не нравится PHP, и я в этом далеко не одинок, но на него есть спрос, а у вас есть живой опыт и какая-никакая мотивация с этим работать. Поэтому продолжать работать с PHP — это тоже нормальный вариант.
Java очень хороша для сложных сайтов, но по факту проекты на ней часто попадаются неинтересные и/или плохо сделанные.
Можете в дополнение к PHP взять Node.js. Вам ведь всё равно придётся хоть как-то работать с JavaScript.
Node.js — это server-side JavaScript. Такое расширение квалификации обойдётся недорого, — синтаксис языка примерно один и тот же.
Якщо дуже хочеться вчити джаву, але лякає пошук першої роботи можна спробувати курси в великих компаніях:
softserve.ua/university/it-academy
www.epam-group.ru/. ainings/ukraine/kiev.html
Не пробував, але мені здається це досить простий варіант. За місяці можеш стати Junior Java developer
Dmitriy Rychek PHP Developer в FAVBET Tech 22.07.2015 22:27
Пробовал в epum попасть. К сожалению туда брали на курсы только людей на последних курсах университета либо уже с дипломом
Чув в Циклумі теж іноді чи курси проводять, чи то інтернів які толком нічого не знають набирають. Вам щось відомо? 🙂
Нічого про це не знаю на жаль
Dmytro Shchurov Frontend/React Developer в KAJO s.r.o. 22.07.2015 16:53
Ехать в Германию учить java: визу дадут долгосрочную, джаву выучите, диплом немецкий будет..
скока бабла надо для «ехать в германию учить java»?
что еще кроме бабла?
В Германии образование бесплатное, в том числе для иностранцев, но учиться надо не как у нас, а учиться.
а к чему был ответ про бесплатное образование если речь ишла о сумме на счету которую необходимо предоставить(ты можешь себя прокормить там)?
Как спросили так и ответил.
А кто кроме вас знает сколько вам надо бабла чтобы себя прокормить?
а что я не так спросил простите?
да обучение там бесплатное(условно бесплатное потому что все зависит от направления и земель) однако при заключении контракта с универститетом требуется предоставить определенное колво денег на счету, в том смысле что ты не голодранец.
2 года назад это кажется было 8к евро, сейчас не знаю, хотел уточнить!
но учиться надо не как у нас, а учиться.
Никогда не понимал, если в Европе уровень образования такой высокий, все «учатся», то почему спецов релокейтят все равно из СНГ.
Потому что они дешевле
потому что спецам из снг можно платить в два раза меньше и никто не пикнет
в Європі, хороший продажник заробляє набагато більше за хорошого девелопера. В нас же — навпаки, тому в них дифіцит девів набагато вищий.
У них универы настолько сложные, что у многих крыша едет. Те, кто прошел универ здесь считают героями.
потому что кадровый голод везде от Middle и выше
Dmytro Shchurov Frontend/React Developer в KAJO s.r.o. 22.07.2015 20:18
Студентам должно быть разрешено официально работать до 10 часов в неделю (или около того) для поддержания штанов. Плюс — фриланс какой-то php по ночам )) Так что с родителей, думаю, нужно будет евров в месяц. Не больше.
Sergii Pekarskyi Java cloud developer в Grape Up 22.07.2015 22:31
чтобы учиться в германии, примерно тыс евро в год нужно
Про Германию не знаю, но пару лет назад (до обвала гривни, короче) ехать учиться в Чехию по деньгам было почти так же, как ехать учиться из Тернополя в Киев.
Судя по тому что Вы в 18 уже работаете програмистом и планируете переезд в германию — ничего не делать. У Вас и так все получится:-)
Dmitriy Rychek PHP Developer в FAVBET Tech 22.07.2015 22:30
Спасибо конечно))
Но думаю все могло бы быть лучше
Dmitriy Rychek PHP Developer в FAVBET Tech 22.07.2015 22:45
Кого же как не себя)
У вас впереди целая жизнь- найдете еще достойную кандидатуру:-) учите java. Слету ее освоить возможно не получится, так что желательно начать пораньше. Некоторым идеям нужно время что бы правильно отложиться в мозгу:-)
завжди може бути краще і гірше
Либо вложить все усилия в php и ехать в Германию пытаться найти работу с этим языком (вариант самый нежелательный)?
если ты будешь спецом по пхп — работу найдешь даже в Зимбабве.
Ибо лучше быть хорошим пхпшником, чем хреновым джавистом)
Поэтому, ИМХО, лучше определиться самому, что больше нравится и что лучше получается — пхп или джава — и учить его.
Все равно на чем учится ездить, главное освоить правила управления и движения.
Пересесть, по желанию, можно на что угодно и когда угодно.
Учить Java, а начинать с PHP.
З PHP? Це щоб насолодитися криво скопійованою ООП-моделлю?
А можна детальніше про криво скопійовану ООП-модель?
то був натяк на те що:
модель яка була реалізована у Smalltalk має нащадків тільки у вигляді Ruby та Objective C (і мабуть Swift)
всі інші ОО мови що в Tiobe рейтингу — реалізують підхід Страуструпа у С++.
тобто:
З С++? Це щоб насолодитися криво скопійованою ООП-моделлю?
З Java? Це щоб насолодитися криво скопійованою ООП-моделлю?
З C#? Це щоб насолодитися криво скопійованою ООП-моделлю?
.
Далеко не всі, скажімо, JavaScript має прототипну модель.
і він теж:
JavaScript? Це щоб насолодитися криво скопійованою ООП-моделлю?
«АвтоЗАЗ випускає невдалі автомобілі».
=>
BMW випускає невдалі автомобілі.
Mersedes випускає невдалі автомобілі.
Toyota випускає невдалі автомобілі.
.
Цікава логіка.
перфекціоніська, так.
А криво тому, що JavaScript не проектувалась як об’єктно-орієнтована мова
а як функціональна, тому .
пояснюю, то я продовжив логіку рубістів 🙂
не ви ж перший пишаєтесь що на Ruby — більш канонічне ООП чем інде 🙂
JavaScript проектувалася саме як прототипно-орієнтована мова, під впливом Self, яка є діалектом, згаданої вами, Smalltalk :).
Я ні слова не сказав про Ruby, хоча мені і подобається така реалізація ООП. Але мені подобається і реалізація ООП в Java, C# і навіть в C++. Як на мене там все досить гарно, але навіть якби в PHP все зробили так само, то навряд чи це було б кращим рішенням для динамічної (?) мови програмування. Саме тому, я далекий від канонізації якогось конкретного підходу ООП — я чудово розумію чому в мовах з сильною статичною типізацією воно реалізоване саме так.
JavaScript проектувалася саме як прототипно-орієнтована мова
the semantics and design are influenced by the Self and Scheme programming languages. — wiki
. Scheme(!)
під впливом Self, яка є діалектом, згаданої вами, Smalltalk :).
The message is the most fundamental language construct in Smalltalk. — wiki
JavaScript is a prototype-based scripting language with dynamic typing and first-class functions.
en.wikipedia.org/wiki/JavaScript
The first prototype-oriented programming language was Self (. ) Some current prototype-oriented languages are JavaScript.
en.wikipedia.org/. ototype-based_programming
Self is an object-oriented programming language based on the concept of prototypes. Self was a dialect of Smalltalk, being dynamically typed and using just-in-time compilation (JIT) as well as the prototype-based approach to objects.
en.wikipedia.org/. lf_(programming_language
не бачу у наведених уривках:
The message is the most fundamental language construct in JavaScript.
A Ruby message consists of a name, usually represented by a symbol such as :message, and an optional payload. .
When the object receives the message, it handles it and returns some other object.
’Calling a method’ OR ’sending a message’ in Objective C
They’re different in that in Objective-C, objects can choose to not respond to messages, or forward messages on to different objects, or whatever. In languages like C, function calls are really just jumping to a certain spot in memory and executing code. There’s no dynamic behavior involved.
ось у чому була головна ідея ООП.
а також, не зрозумів, до чого ви про вплив Self але без згадки про Scheme?
Я не розумію як пов’язані месседжі в Smalltalk з прототипною моделлю в JavaScript.
Про Self я згадав лише в тому контексті, що JavaScript взяв звідти прототипну модель. І успадкування прототипів можна вважати ключовим принципом JS. А мова, взагалі, мультипарадигмна, і її складно назвати суто функціональною чи не імперативною.
А я не розумію до чого прототипна модель, коли я поділив мови за наявністю месаджів, а не типу наслідування.
— Python?
— не, не слышал
А уривок з вікі, чи докі буде?
Ну щоб
The message is the most fundamental language construct in Python
Это Вы приводите доказательства, что, мол
всі інші ОО мови що в Tiobe рейтингу — реалізують підхід Страуструпа у С++.
относится и к Python.
модель яка була реалізована у Smalltalk має нащадків тільки у вигляді Ruby та Objective C (і мабуть Swift)
еще есть Io ( iolanguage.org ). Хотя язык больше эзотерический (экзотический), но:
“Io is a prototype-based programming language inspired by Smalltalk (all values are objects, all messages are dynamic), Self (prototype-based), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable). ” © офф. сайт языка. (жирным выделено мной, что влияние смолтолка в Io есть)
Те, що ООП функціонал було взято з Java та C++, так само очевидно як те, що процедурний функціонал було взято з Perl та С. А криво тому, що PHP не проектувалась як об’єктно-орієнтована мова, тому об’єктна частина досить слабо інтегрована і структурована. Детальніше, якщо цікаво, тут, розділ «ООП»: habrahabr.ru/post/142140
Нагуглити якогось г..на можна про будь-яку мову. Особливо якщо стаття в основному грунтується на особистих враженнях автора. Ось наприклад відповідь на оригінальну статтю з хабра blog.ircmaxell.com/. -sucks-but-i-like-it.html
Цікавило що саме криво скопійовано?
Я не заперечую, звичайно, що в кожної мови є свої переваги та недоліки. І я абсолютно не розраховував на холівар від пхпшників :). Я веду лише до того, що трохи дивно вчити PHP з метою перейти на Java. Навіть деякою мірою шкідливо, через підхід PHP до ООП.
Насправді, існує досить стандартний і перевірений підхід до вивчення мов: C -> C++ -> Java/C# (Думаю, С++ тут можна пропустити. В усякому разі, я так і зробив. А от розібратися з Java без C було складно).
існує досить стандартний і перевірений підхід до вивчення мов: C -> C++ -> Java/C# (Думаю, С++ тут можна пропустити. В усякому разі, я так і зробив
а в цей час, поки вчили — ви кім працювали?
скільки годин на тиждень витрачали на навчання?
і який загальний термін вийшов?
Я веду лише до того, що трохи дивно вчити PHP з метою перейти на Java.
він вже працює, на PHP.
Восьмикласником :). За літні канікули, здається, пропрацював підручник K&R. Не скажу, що витрачав багато часу.
Восьмикласником
тобто не працювали.
За літні канікули
ви опанували (з вашого профілю):
SCSS, LESS, HTML5, Linux, JavaScript, jQuery, Backbone.js, Git, Heroku, Twitter, Bootstrap, SQL, MySQL, WordPress, Node.js, C#
?
чи все ж
за інтервал June 2012 — present?
За літні канікули, здається, пропрацював підручник K&R.
en.wikipedia.org/wiki/K&R
Все інше вивчав значно пізніше.
він вже працює, на PHP.
Нагадаю початок нашої гілки:
Александр Иванов
Учить Java, а начинать с PHP.
нагадаю про автора теми
работаю в компании по web-разработке. Начал заниматься web года пол назад. Сразу начал работать. Начинал с CMS типа wordpress и joomla, позже стал работать с php. Сейчас учу php, в данной работе он мне необходим. Уровень у меня скажем не высокий. . В работе использую php ежедневно, но мне требуется дополнительное изучение
чем она криво скопированная?
Dmytro Zolotar CTO, Co-founder в Catchar 22.07.2015 12:23
Лучше изучать Фэншуй. Это перспективно, пригодится в жизни, да и с литературой не будет проблем, я уверен.
java. и пару хороших проектов, где можно подрасти
а для этого
уволиться с нынешней работы
полгода изучать энтерпрайзную джаву
полгода искать работу с фиговыми проектами, нулевого на хорошие точно не возьмут.
через год, полтора, став настоящим джуном, и искать уже ту самую работу с хорошими проектами. поиски могут занять несколько месяцев, джуны тоже не очень востребованы.
Прямой и честный ответ.
Спасибо , здесь так почти не делают.
Павел Борисов Писатель в Неизвестности™ 22.07.2015 04:13
Учить java с нуля для разработки только под андроид — не очень. Под моб. устройства можно делать софт на многих языках.
По поводу php, этот низкий порог вхождения — какашка в бумажке, так же как и javascript. Знаешь jquery, но не слышал про нежданчики при работе с числами? Быстро лепишь модуль на wp, но не слышал про недопустимость Notice error? Добро пожаловать на низкий порог вхожения, как бы не навернуться.
В общем, если уж и выбирать между 1 и 2, я бы взял джаву.
Dmitriy Rychek PHP Developer в FAVBET Tech 22.07.2015 09:08
Почему учить джава для разработки на моб не очень?
Как вы считаете работать ежедневно с php и паралельно учить джава это возможно (возможно то все, но рационально это или нет) ?
Как вы считаете работать ежедневно с php и паралельно учить джава это возможно
возможно, но, учитывая что вы на этапе становления как программиста, думаю — не нужно. каша в голове будет.
а вот нажать на php — стоит. на примере правильных фреймворков типа Laravel осваивать общие паттерны для мира крупного ПО на ООП. Есть уже и книги c PHP в стиле джавовских по паттернам.
мир разработки php сейчас можно разделить на три части по использованию средств:
1 универсальный веб-дев, легкие CMS, мини-фреймворки
2 тяжелые CMF (Drupal, Typo3 (слышал очень популярна в Германии), . ), специализированные — Magento, .
3 сложные приложения для которых используются Zend, Symfony, Laravel, .
Так вот 3ий тип это подход Java EE, ASP.NET. Освоив его — перейти на джаву будет просто. Но не освоив, не вникнув в паттерны ООП, в подходы построения сложных систем, освоить сложно будет что джаву, что Symfony
находясь на уровне 1 параллельно изучать джаву — неэффективно в плане приобретения цельности знаний. Получится бич нашего времени — «клиповое мышление».
а компании предпочитают — с цельным мышлением. особенно западные.
Есть в планах уехать в Германию (через года 2). После мониторинга вакансий там, я понял что на php далеко не уеду.
уедете. у одного знакомого сын уехал больше года тому. Берлин, работодатель все оформлял сам ему и девушке его (на которой пришлось жениться конечно. бОльшие сложности правда были с вывозом их любимой кошки). PHP.
Перед этим он в мини-отделе какой нью-йорской компании (жить приходилось по их времени). PHP
а диплом, и первые проектики для портфолио он делал на — джаве. не понравилась 🙂
специалисту хоть в чем-то легче уехать, чем универсалу: немножко php, немножко джавы (но только андроид знаю), немножко . .
Мало того, могу пальцем в небо попасть, но ИМХО через 2 года у вас очень сильно могут измениться взгляды. как с выбором страны, так и с самим отъездом. не стоит терять эти годы на метания между технологиями, чтобы потом — «а не хочу я в Германию»
Почему учить джава для разработки на моб не очень?
На самом деле, сейчас большинство популярных языков имеют множество фреймворков для кросс-платформенной разработки.
Для java есть, например, LibGDX и CodenameOne. Или вообще можно собирать JavaFX приложения прямо на телефоны).
Юрий Паламарчук QA Engineer 22.07.2015 04:07
После PHP браться за Java (или другой человеческий язык) — всё равно что пересаживаться с отечественного автомобиля за руль иномарки. Попробовав раз — уже не захочешь возвращаться назад. Поэтому хотя бы с точки зрения удовольствия я бы однозначно выбирал Java. Да, в Java выше порог входа, но зато и выше потолок (в том числе зарплатный и возможностный, включая поиск работы и перспективы эмиграции). Тем более, что Core Java — это не C и не Assembler.
.
Кроме того, по Java написано много толковых книг, по которым можно учиться программированию. Поэтому если выбор стоит между PHP и Java — однозначно Java.
.
Также не стоит делать чрезмерный упор на времени — 2, 2.5 или 3 года — не так уж принципиально, особенно когда тебе 18. В этом возрасте (как, в принципе, и в любом другом) есть время для манёвров. Лучше сосредоточиться на том, чтобы заложить солидную базу, после которой изучение нового языка программирования не будет большой проблемой.
Dmitriy Rychek PHP Developer в FAVBET Tech 22.07.2015 09:13
По вашему лучше освоить сейчас php ( раз уже работаю с этим языком ) а потом перейти на java? Или же начать java уже? Но с работой все равно не все так просто, работать же надо в данный момент с php, по вашему новичок смог мы это дело совмещать или может другие варианты есть?
Юрий Паламарчук QA Engineer 22.07.2015 11:34
Совмещать-то можно, но, скорее, по принципу 80/20 или 90/10. Всё равно у вас должно быть одно приоритетное направление, а остальное — уже как хобби.
Возможно, вам стоит отложить изучение Java до того времени, когда освоитесь с PHP и вернуться к этому вопросу через полгода-год. Лучше PHP в руке, чем Java в небе, тем более, что за PHP вам уже платят, а на Java ищут одних сеньоров.
После PHP браться за Java (или другой человеческий язык) — всё равно что пересаживаться с отечественного автомобиля за руль иномарки. Попробовав раз — уже не захочешь возвращаться назад. Поэтому хотя бы с точки зрения удовольствия я бы однозначно выбирал Java.
Юрий, сколько проектов Вы реализовали на одной и на другой технологии, сколько раз «возвращались»?
А то как-то повеяло теоретикой.
Юрий Паламарчук QA Engineer 22.07.2015 11:56
Вадим, точное число не назову, так как проектов было несколько — и на PHP и на Java.
После Java возвращался на PHP один раз, но это было связано с тем, что хотелось работать в конкретном городе, поэтому решил «потерпеть».
Хотелось бы посмотреть на уровень проектов, после которых люди делают такую чёткую дифференциацию технологий по «человечности». Покажете хоть что-то из своего, у Вас ведь есть чем гордиться?
Юрий Паламарчук QA Engineer 22.07.2015 12:08
Показывать особо нечего, гордиться — тоже, мой Linkedin гуглится в один клик.
Ага и говнокод на джаве сам чудесным образом превращается в идеальное приложение? Не смешите.
Юрий Паламарчук QA Engineer 22.07.2015 13:34
Это вы сами придумали.
Мабуть зі мною щось не те. Я надаю перевагу PHP хоч і з Java доводилось працювати. Скажу так — якщо код — гівно, то те, на чому його написали має другорядне значення.
Andrii Shchurkov Senior Software Engineer 22.07.2015 16:45
Чего сразу «не те»? Язык-то выбирается не только за качество кода, написанного другими людьми.
Я сам поработал с обоими (с РНР больше), и в мире РНР говнокода ощутимо больше (по разным причинам).
Но с каждой новой версией РНР добавляет плюшки, поощряющие писать более лучший код. И ситуация с современным кодом на порядки лучше того, что было в dark ages of PHP 3.
Я сам поработал с обоими (с РНР больше), и в мире РНР говнокода ощутимо больше (по разным причинам).
тема для холівару.
Vitaly Zhidchenko Site Reliability Engineer (DevOps) в Lucky Labs 22.07.2015 01:02
Самый главный Ваш ресурс это время .. если это действительно цель “2 года чтобы уехать в Германию и стать высокооплачиваемым программистом”, а не юношеский максимализм ..
Нужно определится, составить план (варианты миграции, гражданства etc.)
Дальше — если учить все и сразу то без солидной практики Вы будете человеком который слышал обо всем но не имеет глубоких знаний ни в чем — что не делает Вас ценным специалистом которого хотят в Германии etc.
Никто не мешает Вам в Своей стране, без языкового барьера — на своей территории стать Хорошим middle+ developer’ом через 2 года — тогда западные компании сами будут приглашать на relocation.
Нужно МНОГО практики, правильной практики .. Как правило никто кроме лени и отсутствия необходимости на текущей месте работы, в Вашем дальнейшем продвижении, не мешает росту. Даже если у Вас в окружении не особо веет помощью — Internet connecting people.
Ближе по языкам .. В данный момент (как уже писали ниже) полезно знать JavaScript (AngularJS). Иакже очевидно что у PHP ниже порог вхождения чем у JAVA и легче найти/набраться опыта, особенно если есть 2 года. Думаю Вы понимаете что изучить синтаксис и основные конструкции это самая малость, а вот экосистему Java в домашних условиях .
Вам нужно много практики — обработка данных, основные алгоритмы, различные БД, frameworks, ООП, tools, понимание web технологий, различные проекты.
Определится кто Вы — frontend или backend developer. ( как правило чаще full stack ). Т.к. Java это еще не значит будете ли Вы клиент делать или backend где зачастую php. Да и учитывая такие штуки как Apache Cordova можно и на JS “заниматься мобильной разработкой”. Вариантов масса — делайте то, что получается и приносит удовольствие, при должном уровне skills — ЗП будет Хорошая что там что там. Т.к. считать деньги не имея уровня наз. “дурень думкою радіє”
П.С. Переезд в другую страну это одно, профессия это другое. И одно другому не мешает (возможно есть нюансы как диплом для устройства в некоторые компании и т.д.) ..
Не обязательно быть гением чтобы жить в другой стране, как и не обязательно изучать 10 ЯП. На каждый товар найдется свой покупатель .. да и каждому свое. Удачи Вам в осуществлении планов.
За какое время можно выучить язык PHP?
Наилучший способ что-то выучить — практика. Можно тупо что-то зазубрить, но без практически это просто бессмысленно, тем более, что в PHP слишком много различных ньюансов для многих функций.
Поэтому наилучший вариант — разобраться в основах языка, это не так сложно, а если знаете другие языки, то вообще очень быстро, затем установить на компьютер Open Server, сделать локальный сайт и на нём опробовать то, что в данный момент изучаете.
И нет смысла зубрить все функции, которые есть в PHP — это огромное количество информации! Вполне достаточно на первое время ознакомиться с возможностями языка, иметь общее представление о предоставляемых функциях, и постепенно всё это разучивать применяя на практике при помощи того же Open Server.
Хочу изучать PHP и Mysql. С чего начать?
Информация для начинающих изучать PHP и MySQL
Для тех, кто хочет изучать PHP, можно посоветовать великолепный «Самоучитель PHP» с сайта PHP5.RU
Курс находится в процессе написания, но уже сейчас ссылки на отдельные уроки из него стоят в различных разделах этого FAQ. И, поверьте — оно стоит того.
Не могу не порекомендовать замечательный материал Вадима Ткаченко АКА Bizon-а «Вступление в PHP и MySQL». Он даже издавался отдельной книгой, а сейчас — исправленный и дополненный — размещается на сайте
«PHP в деталях». Этот ресурс стоит особняком. В отличие от предыдущих, рекомендовать прочесть его целиком может только садист — там слишком много информации. но в этом и его прелесть. Это неисчерпаемый ресурс информации по PHP. Единственное замечание — обращайте внимание на дату написания статьи. Не стоит особо доверять тем, что написаны до 2003 года.
Ну, и, конечно же — этот сайт, http://phpfaq.ru
Если вы еще не прочли его целиком — обязательно сделайте это. Здесь перечислены проблемы, с которыми рано или поздно столкнется КАЖДЫЙ, кто пишет на PHP.
Программное обеспечение.
Для работы с РНР под Windows, надо установить следующие программы:
— web-сервер Apache (5Mb)
— сам PHP (10Mb)
— по желанию — MySQL (23Mb).
Настройка очень простая. Апач устанавливается программой установки. Там, где он запрашивает имя вашего сервера и емейл администратора, надо 2 раза написать localhost и свой e-mail.
PHP распаковывается из зипа в любой каталог по желанию (стандартно — C:\PHP) и настраивается обязательно как модуль Апача. Для этого надо выполнить три действия:
— переписать файл php5ts.dll в каталог WINDOWS
— в файл httpd.conf (C:\Program Files\Apache Group\Apache\conf\httpd.conf), в самом низу, добавить две строчки
LoadModule php5_module c:/php/php5apache2_2.dll
AddType application/x-httpd-php .php .phtml
— перезапустить Апач (с помощью утилиты Apache monitor в трее)
Выполнив все эти действия, можно положить тестовый php скрипт (допустим, он называется test.php и состоит из строчки
в каталог, который является корневым для веб-сервера (по умолчанию это C:\Program Files\Apache Group\Apache\htdocs\) и обратиться к нему, написав в браузере адрес
http://127.0.0.1/test.php
При установке MySQL выбрать Standard configuration, на следующем экране нажать Next, на следующем — задать пароль или снять галочку «Modify security settings», если хотите оставить его пустым.
Для проверки запустите консоль Mysql: Пуск — Выполнить и в появившуюся строку скопировать
«C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe»
или
«C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe» -uroot -pPASSWORD
если консоль запустилась — все работает. Наберите exit для выхода и приступайте к конфигурированию поддержки mysql в PHP.
Для этого, если вы не сделали этого раньше, возьмите файл c:\php\php.ini-development и скопируйте под именем php.ini в каталог windows. Затем отредактируйте его, убрав точку с запятой в начале строки
;extension=php_mysql.dll
и отредактировав параметр extension_dir:
extension_dir = «c:\php\ext\»
заодно можно сразу исправить
short_open_tag = On
чтобы работали старые скрипты и удобные шаблоны
и не забудьте после этого перезапустить Апач, как это было описано выше.
Теперь вы можете использовать mysql в своих php-скриптах.
Те, для кого эта инструкция слишком сложна, могут попробовать установить готовый комплект Денвер-2.
В него входит сразу все, что нужно, и еще много ненужного. А главное — работает все само.
Еще одно достоинство Денвера в том, что объем базового комплекта в 10 раз меньше полных версий — всего 4 мегабайта. А так же то, что его автор пишет интересные книжки по PHP.
Так же, всем любознательным рекомендуется ВЕСЬМА толковая статья Установка и настройка Apache+PHP
с сайта PHP5.RU. И, конечно же — разделы официальной документации, посвященные установке соответствующих программ.
Форумы.
При изучении любого дела обязательно появятся вопросы.
Вопросы удобно задавать на форумах.
http://phpclub.ru/talk/forumdisplay.php?s=&forumid=12
Форум PHPклуба. Самый посещаемый и известный. К сожалению, известность служит ему дурную службу. Очень часто на вопрос новичка отвечает еще более зеленый новичок, давая совершенно неправильный ответ. Однако профессионалов там тоже предостаточно, готовых объяснить ошибки и первому и второму.
PHP представлен и в русскоязычном сегменте Livejournal
В сообществах ru_php и ru_mysql всегда найдутся профессионалы, кототорые помогут с любой проблемой. Только не забудьте сначала прочитать правила сообщества!
Задавая вопрос на форуме, помните:
Что, скорее всего, с ним уже сталкивалась тыща человек. И подробные ответы можно найти в поиске. Если же, все-таки, вопрос приходится задавать — то описывайте как можно подробнее (только своими словами, а не кодом!), что вы делали, что хотели получить и что получилось в результате, а так же точно копируйте сообщения об ошибках.
Сайты для начинающих.
Ранее здесь были размещены ссылки на различные сайты от начинающих для начинающих.
К сожалению, и так-то не блиставшие качеством материала, они давно заброшены своими авторами и окончательно потеряли актуальность.
Все, что есть лучшего по теме PHP, перечислено вверху страницы.
Если вы знаете хороший сайт — напишите о нем в разделе «Обратная связь».
