LINUX.ORG.RU

Что принципиально невозможно сделать на php

 ,


0

2

Всем доброго вечера! Определяюсь с выбором языка программирвоания. точнее их будет два. Второй был выбран за меня - java, но его изучение состоится много позже. А вот первым я хочу выучить php, но применять его и для разработки веб приложений и для локальных. Скажите, на что способен php без удаленого сервера? насколько он удобен? (речь конечно же о разработке в среде linux, но все таки интересно будет ли тот же код работать в windows?)

Перемещено leave из desktop



Последнее исправление: Ramiras-lord (всего исправлений: 1)

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

для пхп эпоха, но со стороны не так уж и много:

* завезли пакетный менеджер
* обработка ошибок в 7ке наконец +/- однообразна
* выкинули mysql_*
* запилили [] (это лучшее, что сделали в языке за это время)

остальные проблемы как в 2012м.
как тошнило от String Functions и КО, так и тошнит

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

Какая-то фурря пищит, что не осилила PHP, нашли кого слушать. Евой и C подай, так изрешетит себе обе ноги в первый же день. Покажите лучше язык, где принципиально нет большого количества способов стрелять себе в ноги и он при этом реально юзается в продакшне, а не только в академической среде или у энтузиастов, как ваши хачкель, D и прочие гениальные™ поделия.

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

так ты врешь что это не писал?

Так ты врёшь, что я вру что я не писал? Показывай своё объяснение, почему == плохо, или пшёл вон.

no-such-file ★★★★★
()
Ответ на: комментарий от nikolnik

Так, что мимо, упс

Я в тебя и не целился, речь шла про питон и руби, упс. Рад, что лично ты ими не пользуешься, пиши ещё, как жизнь, как здоровье...

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Так ты врёшь, что я вру

Эка пхепе на мозговой орешек пагубно влияет 8). Попробуй еще раз выразить свои претензии только не нервничая, по пунктам.

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

в 7 версии

Например?

Вообще, забавно, прибегают куча школоло и кричит, что пых - говно. Просишь привести пример о объяснить, почему это плохо - начинаются отговорки и перевод стрелок на статьи в духе ОБС.

no-such-file ★★★★★
()
Ответ на: комментарий от Deleted

по пунктам

Давай любой пункт из этого плача Ярославны, который ещё не выкинули из пыха, и объясни, почему это плохо

Специально для тебя сделали ===. Но не стесняйся, расскажи чем плох ==.

Так и будешь жопой вертеть? Я со стенкой спорить не собираюсь, а тебе похоже сказать нечего.

no-such-file ★★★★★
()
Ответ на: комментарий от kachan

Хз, но посмотри на no-such-file, он даже цитировать не умеет. Может конечно пхп не при чем, но такие кк он определенно позорят сей достославный ЯП.

Deleted
()

Я бы сказал что лучше уж python. Он несколько универсальнее в плане областей применения(от жирных микроконтроллеров до веб-приложений).

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

Крч, со статьей согласен, пхп во многих вещах плох. То что он портит корочку в черепке не согласен.

kachan ★★
()
Ответ на: комментарий от no-such-file

Которые вовсе не проблемы.

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

то же обёртывание строковых функций — костыль вокруг как раз плохого дизайна языка, который не хочется видеть и хочется скрыть.

меня тошнит, когда я вижу вывернутый тернарный оператор — очень странно, что не тошнит php-шников.

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

то же обёртывание строковых функций — костыль вокруг как раз плохого дизайна языка

Это ты любителям крестов расскажи. Кстати, а боксинг в жабке, это как? Норм?

вывернутый тернарный оператор

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

Меня вот тошнит от тернарного оператора в питоне, так что на вкус и цвет фломастеры разные.

no-such-file ★★★★★
()
Ответ на: комментарий от VladimirMalyk

то, что к плохому дизайну привыкли

Вообще разговоры о дизайне в контексте языка программирования делают мне смешно. Любой мейнстримный язык - это результат многолетнего развития из инструмента, который изначально предназначался для одной простой задачи и последующих попыток с помощью костылей и подпорок получить что-то универсальное. На языках «с дизайном» бородатые дядьки любят писать хеловорды и рассказывать как это круто, только практического применения такие, высосанные из одного пальца языки, как-то не находят.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Почему тернарный оператор это зло? Ведь в правильном использовании он останется понятным и сократит количество кода.

kachan ★★
()
Ответ на: комментарий от no-such-file

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

а по поводу универсальности — львиная доля пхп это вордпресс, в котором аякс запросы делают через ajax-admin.php. это настолько ГОВНОКОД, что даже мазаться в это стыдно. а уж тем более приводить как критерий качества.

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

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

Проект с 1.6 до 1.10, брат жив. Ты с руби не попутал?

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

Я с php уже второй год работаю и вердикт отрицательный, одно то, что можно код писать в рендеринге вюьхи создает лютый песец

Невозможно задавать тип переменной в функции

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

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

От php у меня остались странные впечатления. Как будто его создавали хорошисты по примеру других работ, которые были уже сделаны до них отличниками. Ну, а хорошисты на то и хорошисты, чтобы допускать косяки. Например, до сих пор не понимаю, нафига надо было явно прописывать замыкание через use? На кой черт?!

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

Например, до сих пор не понимаю, нафига надо было явно прописывать замыкание через use? На кой черт?!

насколько я понял, для того чтобы указать передается ссылка или константа на переменную use(&$test, $test2) ну и чтобы инкапсулировать переменные внутри.
Вообще не понимаю отчего такой батхерт, ну такой вот синтаксис замыкания - чего у всех так горит то?

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

одно то, что можно код писать в рендеринге вюьхи создает лютый песец

но кто же тебя заставляет это делать? Используй шаблонизаторы

Невозможно задавать тип переменной в функции

можно

Куча мелочей которые больше мешают, например дубли функций работы со строкоми для байт мультибайт

да, обратная совместимость она такая

работа с массивами они пытались написать все на все случаи жизни

это язык изначально создавался под веб, а там это актуально

kiotoze ★★★★
()

Зачем начинать с php? Он окромя веба не используется нигде. Начни лучше с java или python.

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

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

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

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

не так уж и много:
завезли пакетный менеджер

Это не просто не много. Это перевернуло всю разработку :)

PHP7 стал работать вдвое быстрее и жрать вдвое меньше памяти. Python и Ruby остались позади :)

как тошнило от String Functions и КО, так и тошнит

Это только до тех пор, пока не попрограммируешь на JS или Lua :)

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

одно то, что можно код писать в рендеринге вюьхи создает лютый песец

А тебя кто-то насильно заставляет? И в каком шаблонизаторе? В большинстве оных PHP-код вообще невозможно вставить.

Невозможно задавать тип переменной в функции

2017-й год на дворе. И PHP7/7.1

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

можно код писать в рендеринге вюьхи

А можно не писать.

Невозможно задавать тип переменной в функции

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

дубли функций работы со строкоми для байт мультибайт

Что даёт обратную совместимость. Но ты можешь взять какой-нибудь ООП интерфейс. А можешь не брать.

Php не ограничивает тебя в возможности использования костылей и написании говнокода. Айайай какой плохой язык - адепты квадратно-гнездового программирования негодуют.

no-such-file ★★★★★
()

А вот первым я хочу выучить php

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

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

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

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

Желаю удачи.

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

С того, что PHP отучает человека думать о типах, их преобразовании, области видимости, и в итоге провоцирует писать небезопасный код. Меня тут недавно один человек спрашивает «а почему я присваиваю 255.000, а присваивается только 255?» Это при том, что программу он писал на крестах и присваивал double. Но параллельно он изучал веб, вот что-то в голове и перепуталось.

А языки с нормальной типизацией приучают к строгости мышления.

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

А PHP тут при чем? Если ты обобщил все языки со слабой динамической типизацией. Область видимости? Чем она отличается в пыхе, от той же сишки если говорить за обыденные вещи.

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

А я и ни один из этих языков не порекомендую начинающим. :) Просто ТС из них упомянул именно PHP.

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

Область видимости в сишке далека от идеала, тут тоже не спорю. К идеалу близки виртовские языки.

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

Кто мешает выучить PHP, потом посмотреть на Java, C++, C, доработать моменты с типизацией, преобразованими и радоваться жизни? Мне приведения типов даже в MySQL надо были, но для этого я лишь открыл доки по Мускулю.

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

Я тоже не ненавистник, и сам на нем пишу, PHP ужасен и с этим ничего не поделаешь.

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

Со всеми этими паскалями-оберонами есть куча проблем для начинающего:

1.Отсутствие современной литературы. Как учиться если нет учебника?

2.Количество и качество библиотек ниже, чем в распространённых языках. Тухлый код и баги в библиотеках создают ситуацию «я всё делаю по инструкции, а оно не работает WTF», что очень плохо, т.к. теряется время и мотивация.

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

4.Большие вопросы с актуальностью кода. Игрушечные проекты на мейнстримных языках можно постепенно развивать-рефакторить по мере роста скилла. Код на паскалях-оберонах придётся просто выбросить.

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

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

no-such-file ★★★★★
()

я на нём пишу мелкие консольные утилиты по работе, мне нравиться.

stels ★★★
()

насколько он удобен?

Настолько удобен, что 9 из 10 наркоманов выбирают php.

outtaspace ★★★
()
Ответ на: комментарий от no-such-file

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

2. Субъективно. Есть библиотеки и хорошие, и плохие.

3. Есть немаленькое сообщество, опять-таки с дельфёвых времён. Часть его, конечно, развалилась, но часть перешла на fpc/Lazarus.

4. Про оберон не скажу, а паскаль - с чего это вдруг? Вон, Гислер Total Commander на Дельфи написал, а когда понадобилась 64-разрядная версия, воспользовался Lazarus.

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

Это всё замечательно, вот только java выигрывает по всем пунктам. Литературы больше, библиотек больше, задать вопрос можно на любом углу, и показать свой код будущим работодателям можно. А лазарус что? Пустая трата времени.

no-such-file ★★★★★
()

А вот первым я хочу выучить php, но применять его и для разработки веб приложений и для локальных. Скажите, на что способен php без удаленого сервера? насколько он удобен? (речь конечно же о разработке в среде linux, но все таки интересно будет ли тот же код работать в windows?)

На что тебе нужен, на то и способен. Он достаточно широкий и удобный. Я, к примеру, пишу и веб и консольные утилиты на нем, скрипты автоматизации, если надо что-то более графическое - можно взять биндинг на QT/GTK или воспользоваться просто диалогами, чтоб юзер кнопку ткнул.

У PHP есть cli интерфейс, вебсервер не нужен, это просто один из методов запуска скрипта.

Так же могу порекомендовать попрактиковаться с каким-нибудь фреймворком. К примеру, в yii2 есть и веб часть и /command/ - консольная, но кроме PHP тебе будет доступна еще куча модулей и инструментов этого фреймворка, которыми ты сможешь в любом направлении рулить.

Еще познакомься с PHPStorm, лучшая IDE для PHP.

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

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

Вообще то тут хейтеры с ума сходят, повинуясь синдрому утёнка и нечитав, но слышав про статью столетнюю что язык днище позорное, просто бояться быть в стороне от тех кто называет php и всех кто с ним связан дебилами и имбицилами. Язык как язык, сотни их какие то в чём то лучше в чём то хуже, хотяяяя, некоторых понять можно, меня вот от rust и go тошнит, вот именно от конечных инструкций языка, смотришь на код и прям внутренний дискомфорт от уродливого на вид синтаксиса, прям фуфуфу, может у многих вот такое отношение и к php ::)

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

Это не просто не много. Это перевернуло всю разработку :)

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

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

PHP7 стал работать вдвое быстрее и жрать вдвое меньше памяти.

это плюс, но до pypy ещё далеко. если завезут jit — можно подумать.
но тем не менее, это не отменят уродливого дизайна языка.

Это только до тех пор, пока не попрограммируешь на JS

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

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

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