argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Защо PHP e кофти език. ?  (Прочетена 8747 пъти)

VooDooMaN

  • Гост
Re: Защо PHP e кофти език. ?
« Отговор #40 -: 12.12.2006, 10:43:32 »

Зависи какво се гони. Ако искам да си пусна blog, forum, cms за 5 минути определено ще избера php + mysql.
Активен

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
Re: Защо PHP e кофти език. ?
« Отговор #41 -: 12.12.2006, 17:05:14 »

Зависи какво се гони. Ако искам да си пусна blog, forum, cms за 5 минути определено ще избера php + mysql.

Подкрепям 100% това мнение! Вече толкова оттренирах процедурата по инсталация на e107, че за по-малко от 3 минути имма работеща система! Поне в това отношение PHP продукти има колкото искаш, що годе са качествени и най-важното е, че повечето пъти вършат работата, за която са предвидени.
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Защо PHP e кофти език. ?
« Отговор #42 -: 13.12.2006, 15:42:12 »

a ve ne sam pravil flame postnah vi tema iskah da chuq
DA VSICHKI NESHTA VYTRE SA VERNI
ili NEEEEEE NE E TAKA EDI KVO SI E.
razbiram che vsichki neshta sa verni krai na temata
:)
shtom sa verni kakto bneshe kazal Stilgar nqma kakvo da komentirame PHP
Активен

Георги Соколов

  • Модератор
  • *****
  • Неактивен Неактивен
  • Публикации: 51
    • website
Re: Защо PHP e кофти език. ?
« Отговор #43 -: 13.12.2006, 19:18:16 »

Въпреки че съм почитател на ПХП от доста отдавна и имам голям, ако не огромен опит с него, ще се опитам да бъда обективен и да отговоря в стила в който Найден си е задал въпроса. Не да флейма.

1. Bad recursion

Recursion is the mechanism in which a function calls itself. This is a powerful feature which can make something complex something simple. An example of a function using recursion is quicksort. Unfortunately, PHP is not good at recursion. Zeev, one or the developers of PHP, says this: "PHP 4.0 (Zend) uses the stack for intensive data, rather than using the heap. That means that its tolerance recursive functions is significantly lower than that of other languages." See bug 1901. This is a poor excuse. Every programming language should provide good recursion support.

Това е така. Дори и в ПХП5 е така

2. Many PHP-modules are not thread safe

Това беше така в ПХП3, но от 4.3 насам се промениха много нещата. В 5 вече нещата не са такива каквито бяха и това е една от основните причини от несъвместимостта между 4 и 5. Т.е. ако си си писал добре на 4 ще ти върви и на 5, ако ли не.. ще пренаписваш

3. PHP is crippled for commercial reasons

The performance of PHP can be increased to 500% by using caching [benchmarks]. So why is caching not build into PHP? Because Zend, the maker of PHP is selling its own Zend Accelerator and of course, they don't want to cannibalize on there own commercial products.

Това също е така, от тази гледна точка. Разбира се акселератора е безплатен, а не се продава както пише. Общо взето тип - разбрал-недоразбрал

4. No namespaces

Suppose someone creates a PHP-module that can read files. One of the functions in this module is called read. And someone else's module can read web pages and also contains a function read. Then it is impossible to use these modules together because PHP will not know which read function you want.

В C също няма namespaces, в Perl също. В PHP6 най вероятно ще има и в PHP. Проблема най-вероятно се състоеше в ужасната поддръжка на обекти в 4 и липсата на такава в 3 и по стари. Затова пък всяка от стандартните библиотеки си ползва някакъв префикс. Едва ли е толкова сложно. Ако искаш mysql ще пишеш mysql_connect, ако искаш MS Server, mssql_connect. Не е сложно да се чете.

7. Inconsequent function naming convention

Some function names consist of more than one word. There are three conventions for combining these words:

   1. Glued together: getnumberoffiles
   2. Separated with underscores: get_number_of_files
   3. Camel case: getNumberOfFiles

Most Languages choose one of these variants. PHP uses all of them.

"Това е и така и не е така" както казваше един колега. Факт е че най-старите имплементирани функции са слети, тези от 4 са с подчертавки а тези от 5 са с камили. Обачи в 95% от случаите тези които са слети имат еквивалент в тези с подчертавки а в тези с камили също има еквивалент на тези с подчертавки. Пазят се с главна цел съвместимост, а защо се добавят нови.. еми най-вероятно еволюцията на езика.. както в Java и Java2, поне нещо в този вид.

10. No Unicode

With Unicode it is possible to use every language in the world, for example Chinese, Arabic and Hebrew. While every other serious programming language supports Unicode for many years, PHP still has a very hard time dealing with this. Unicode is planned for PHP 6, so we still have to wait a long time before PHP supports this trivial feature.

Така е въпреки че използвайки iconv функциите, се постига нещо подобно, обаче изисква допълнителни умения и усилия.

11. Slow

You think Java is slow? PHP is much slower! See this Computer Language Shootout. Normally that's not a big issue, because most PHP-scripts only pull data from the database and render it in HTML, a very simple job and fast enough for page views. So how can PHP be used on all these popular websites with lots of visitors? Because of caching. These sites use MCache and APC to get performance. It doesn't proof anything about PHP, only that it's cachable.

Абсолютно не е вярно. ПХП е достатъчно бързо, дори не знам защо се опитват да го сравняват с Java.  А това че може да се кешира, и е добре да се кешира за да се изстиска още повече производителност е съвсем друг въпрос.

Conclusion

For very small projects, it can be a nice programming language. But for larger and more complex projects, PHP can show its weakness. When you search long enough, you'll find solutions to some of the mentioned problems. So when a solution is known, why isn't it fixed? And why are the fixes not mentioned in the manual?

ПХП става и за големи проекти. Не само за най-малките както все се опитват да го изкарат. Може в версия 2 да е било така, но по времето на версия 2 други езици като Java2, Python и Ruby въобще ги е нямало. Работил съм и по наистина големи проекти с сравнително добър успех. Горе долу със същия с който бих работил и с .NET или с Java примерно. Зависи кой как си е свикнал. Аз си знам PHP, знам как да си правя кода достатъчно добър за да се харесва на интерпретатора и нямам проблеми. Вие знаете някой друг език - това е достатъчно, стига да ви върши работа използвайте го. Ако не ви върши работа, научете го по добре.

Мисля че бях достатъчно изчерпателен с което се надявам наистина да затворим темата.
Активен
Компютрите не правят това което искаш да правят. Правят това което им кажеш да правят!

Stilgar

  • Неактивен Неактивен
  • Публикации: 843
Re: Защо PHP e кофти език. ?
« Отговор #44 -: 13.12.2006, 20:01:40 »

da be tva che bil baven mai ne e viarno
+ tova stiga s teia gluposti za bavni ezici taka ili inache malko gluposti v koda mogat da zabaviat programata mnogo poveche ot kolkoto nai-burzia ezik i nai-neveroiatnia optimizator mogat da specheliat

edno ot nai-kofti neshtata deto sum chuval za php e che ne e tolkova maintainable kolkoto Java i osobeno .NET (kvoto i da mi govorite .NET e mnogo po-maintainable ot Java)
mnogo po-niska standartizacia, po-malko greshki koito da se hvanat compile time, po-losha suvmestimost sus sledvashti versii i po-maluk lifecycle na versiite
Активен
"Човек винаги трябва да си прави background" - Lia