1

Тема: Чому ви (не любите | любите) РНР ?

Тема для тих кому скучно. Тут зберуться всі хто проти РНР і всі хто за.

Отже декілька моїх за і проти:
проти
- є моменти які слабо продумані. Порядок параметрів у функціях, передача по посиланню  у деяких функціях (shuffle)
- немає generic (можливо це щось змінить https://wiki.php.net/rfc/generics)
- не повна підтримка utf  з коробки
- ast зроблений як екстеншин до 7ї версії
- деякі інші малі фішки

переваги
- чуваки які релізять РНР дуже добре думають перед тим як робити. Немає такої фігні як у пітон2 і пітон3
- composer - дуже кльовий менеджер пакетів
- php7 багато всяких няшних штук
- стандарти кодування psr
- величезна компюніті
- багато роботи (багатьом треба підтримку і розробку сайтів на РНР)
- проста у вивчені
- РНР найпопулярніша мова для вебу
- що не кажіть а швидкість у рнр досить таки висока.


Хай переможе сильніший.

2

Re: Чому ви (не любите | любите) РНР ?

Я обіцяв уже більше нічого не казати в сторону php (мужик сказав - мужик зробив), тому лиш скажу на захист пайтона.
Якої такої фігні як у пайтон 2 і 3? Так, вони мають несумісні відмінності, але вони паралельно розвиваються, а не так, що закинули 2-гу вітку і все. Крім того, з 2-го пайтона є можливість використовувати різні фічі із 3-го. Та й насправді зовсім не важко переключитися.
Ну і в заключення - чого тільки Python? Є ще купа різних альтернатив - одна із найкращих - Ruby

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/

3

Re: Чому ви (не любите | любите) РНР ?

Я не люблю PHP через низьку планку входження в мову. Це спричиняє велику кількість гамнокодерів.

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say
Подякували: 0xDADA11C71

4

Re: Чому ви (не любите | любите) РНР ?

Я не полюбляю ПХП тому що не пишу на ньом.

5

Re: Чому ви (не любите | любите) РНР ?

Я мав на увазі що пітон 2 і пітон 3 не сумісний. Як на  мене це дуже дивна поведінка розробки мови.
Візьмемось за рубкі - окей. Константи:

FOO=1
puts FOO
FOO=2
puts FOO

Все таки змінить КОНСТАНТУ.

puts 1 == 1.0 # true
puts 1.eql? 1.0 # false
puts 1.equal? 1.0 # false
 
a = "foo"
b = "foo"
puts a == b # true
 
puts a.eql? b # true
puts a.equal? b #false

З першого погляду все досить дивно. Якщо довго кодити на рубі можна це зрозуміти. Але просто так сходу - ніяк.

def method; 42; end
num = 21
puts method/num # 2
puts method / num # 2
puts  method/ num # 2

puts method /num # ruby.rb:9: unterminated regexp meets end of file

Поставив не там пробіл - уже не паше. Де логіка ? Виходить так: або ставимо пробіл з двох сторін, або не ставимо з жодної сторони, або ставимо після пробіл. Ні в якому разі неможна ставити пробіл перед оператором / і не ставити після нього.

+ ще багато всяких фішок.

Не бачу стабільності і в цьому коді:

str = "foo"
puts str.upcase
# => ”FOO”
puts str
# => ”foo”
puts str.upcase!
# => ”FOO”
puts str
# => ”FOO”

# Now that it’s already FOO:
puts str.upcase!
# => nil  # ?!
puts str
# => ”FOO”

https://docs.google.com/presentation/d/ … 8abdc95_00

Синтаксис наче мав бути дуже продуманий але є свої недоліки.

Я веду до того що у кожної мови свої баги ;)

Подякували: Master_Sergius, 0xDADA11C72

6

Re: Чому ви (не любите | любите) РНР ?

Я не люблю PHP через низьку планку входження в мову. Це спричиняє велику кількість гамнокодерів.

у РНР7 все поміняється. Особливо коли ви приходите на проект а вам кажуть - у нас code quality tools і ви не зможете туди засунути гівнокод =)

Подякували: coder, 221VOLT2

7

Re: Чому ви (не любите | любите) РНР ?

coder написав:

Я не люблю PHP через низьку планку входження в мову. Це спричиняє велику кількість гамнокодерів.

Якщо зайти на http://govnokod.ru/ то c++  йде на другому місці після php по кількості записаних гкодів.
Але ж це cpp,тому через складність мови,а не через криворукість кодерів,чи як?

=)
Подякували: 221VOLT1

8

Re: Чому ви (не любите | любите) РНР ?

Так, с++ - це ще те лайно, хоч і типу всесильне, але лайно. Дуже багато вразливостей через вказівники.
п.с. погляньте сюди, тут є і про php:
http://bjorn.tipling.com/if-programming … re-weapons

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/
Подякували: funivan, 221VOLT2

9 Востаннє редагувалося coder (03.12.2015 14:12:36)

Re: Чому ви (не любите | любите) РНР ?

VTrim написав:
coder написав:

Я не люблю PHP через низьку планку входження в мову. Це спричиняє велику кількість гамнокодерів.

Якщо зайти на http://govnokod.ru/ то c++  йде на другому місці після php по кількості записаних гкодів.
Але ж це cpp,тому через складність мови,а не через криворукість кодерів,чи як?

Тут інший фактор зовсім. Мова С++ існує набагато довше ніж PHP і відповідно коду написано багато багато.

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say

10 Востаннє редагувалося coder (03.12.2015 14:17:59)

Re: Чому ви (не любите | любите) РНР ?

Master_Sergius написав:

Так, с++ - це ще те лайно, хоч і типу всесильне, але лайно. Дуже багато вразливостей через вказівники.
п.с. погляньте сюди, тут є і про php:
http://bjorn.tipling.com/if-programming … re-weapons

Дуже багато вразливостей через вказівники.

Це те саме що сказати хірургу що працювати скальпелем дуже погано бо можна зарізати помилково пацієнта.

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say

11

Re: Чому ви (не любите | любите) РНР ?

Дуже багато вразливостей через вказівники. Це те саме що сказати хірургу що працювати скальпелем дуже погано бо можна зарізати помилково пацієнта.

в медицині можна так сказати про все. Скальпель - зарізати. Таблетка - також можна відкинутись.

Подякували: coder1

12 Востаннє редагувалося coder (03.12.2015 14:42:01)

Re: Чому ви (не любите | любите) РНР ?

Вказівник це просто низькорівневий спосіб адресації (зверення), тут немає жодної магії. Геть ксенофобію і нетерпимість до того що незвично!!! Тим більше вказівники є природні і рідні для процесора, якщо в регістер не поміщається операнд то ми туди ставимо адрес фактичного операнда в памяті. Це та сама indirection яка є спадщиною із низькорівневих мов.

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say
Подякували: 0xDADA11C71

13

Re: Чому ви (не любите | любите) РНР ?

Я чомусь згадав, що "фейсбушний" php транслюють в с++ і займається тим зокрема одетп езотеричного с++ пан Александреску.

Maybe a = Just a | Nothing
Подякували: coder1

14 Востаннє редагувалося coder (03.12.2015 14:34:38)

Re: Чому ви (не любите | любите) РНР ?

Александреску крутий пан. Я його люблю слухати) Тільки не все розумію нажаль). Фейсбучний php транслюють в С++ напевно помилково, вони ж не знають про всі переваги PHP над С++. Треба їм розказати де раки зимують.

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say
Подякували: 0xDADA11C71

15

Re: Чому ви (не любите | любите) РНР ?

от мені погано, легко і краще зробити на python то і пише код на пітоні, легче на РНР, то на РНР пишу.

- Поганому трояну фаєрвол заважає
- Ніколи не програмуйте та не пийте пиво
Якщо ви з першого разу написали програму, в якій немає жодної помилки, повідомте про це системного програмісту: він виправить помилки в компіляторі

16

Re: Чому ви (не любите | любите) РНР ?

coder написав:

Вказівник це просто низькорівневий спосіб адресації (зверення), тут немає жодної магії. Геть ксенофобію і нетерпимість до того що незвично!!! Тим більше вказівники є природні і рідні для процесора, якщо в регістер не поміщається операнд то ми туди ставимо адрес фактичного операнда в памяті. Це та сама indirection яка є спадщиною із низькорівневих мов.

То може зразу на ассемблері будете писати? Чи просто двійковим кодом посилати команди - це точно природньо і рідне для процесора :)

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/

17

Re: Чому ви (не любите | любите) РНР ?

Якщо зайти на http://govnokod.ru/ то c++  йде на другому місці після php по кількості записаних гкодів.

То досягається пострадянськими бурситетами, які вивчають покруч с/с++. На чистому Сі менше можливостей нагівнокодити, хоча мова люто вбога -- така річ, як однопрохідний препроцесор вже вказує на рівень розвитку, що застиг на початку 80-х років.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: 221VOLT1

18

Re: Чому ви (не любите | любите) РНР ?

Master_Sergius написав:
coder написав:

Вказівник це просто низькорівневий спосіб адресації (зверення), тут немає жодної магії. Геть ксенофобію і нетерпимість до того що незвично!!! Тим більше вказівники є природні і рідні для процесора, якщо в регістер не поміщається операнд то ми туди ставимо адрес фактичного операнда в памяті. Це та сама indirection яка є спадщиною із низькорівневих мов.

То може зразу на ассемблері будете писати? Чи просто двійковим кодом посилати команди - це точно природньо і рідне для процесора :)

Ви що думаєте що на асемблері не пишуть?

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say
Подякували: 0xDADA11C71

19 Востаннє редагувалося coder (03.12.2015 17:30:47)

Re: Чому ви (не любите | любите) РНР ?

Я просто ставлю смайлики типу сміюся.
:)  :)  :)  :)

I can tell, seen before, I know the way, I know the law
Can't believe, can't obey, Can't agree with all the things I hear you say

20

Re: Чому ви (не любите | любите) РНР ?

coder написав:

Ви що думаєте що на асемблері не пишуть?

Відпишіться тут, коли напишете свій RESTful сервіс, або новий Fallout.

п.с. Звісно, і зараз пишуть на ассемблері, але наразі ринок повернутий в інший бік і це зрозуміло. Чи ні?

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/