argon bulletin board
Факултети => Факултет по математика и информатика => Темата е започната от: JOKe в 24.11.2006, 10:26:36
-
Не искам флеим искам да ми кажете - ДА така е човека е прав или НЕ НЕ е така и не е прав.
Попадна ми интересна статия с доста интересни извадки в нея :
Защо не харесвам PHP :
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.
2. Many PHP-modules are not thread safe
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.
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.
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.
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.
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?
това са само извадки
цялата статия тук :
http://www.bitstorm.org/edwin/en/php/
интересно ми е какво ще кажете и за линковете отдоло :
* Experiences of Using PHP in Large Websites
* I’m sorry, but PHP sucks
* "PHP in contrast to Perl"
* I hate PHP
* PHP Annoyances
п.п. пиша го защото искам мнение защо подяволите един толкова прецакан език се харесва на хората
Не ме интересува кой какво ме обеждава да ползвам не обеждавам никой да не го ползва просто искам дискусия а не флеим нещо ми писна да флеимя
-
Харесва им се, защото вероятно:
- нямат реален опит с други езици
- правят дребни проекти, къдете performance не е issue
- друго
-
По мое мнение PHP се харесва на хората поради няколко причини:
1. Учи се много бързо и лесно (има лесен синтаксис и като език не е сложен)
3. Много е лесно и удобно използването му в комбина с MySQL (то за това е направен)
4. Удобен е за правене на динамични WEB страници (пак в комбина с разни CSS, ASP и други .. не ги разбирам там нещата)
Това е по отношение какво хората намират в PHP (според мен). Какво обаче PHP има пред Perl не мога да кажа. За мен Perl е много привлекателен език, който имам мерак да уча, но в устите на много хора ехти фразата, че Perl бил умрял език и други подобни. Според мен Perl е точно толкова мъртъв, колкото е C-то. Просто го замества нещо комерсиално наложило се, защото върши определена работа бързо и лесно, но никой не поставя въпроса дали я върши качествено. :)
-
izobshto niama miasto za sravnenie mejdu Perl i Ц po umrialost
Ц e bezsmurten
inache proizvodntie na 3ta tochka ne vajat
shtom horata sa napravili reshenie znachi vsichko e tochno
ako shtete si go kupuvaite i v drugite ezici masa neshta se prodavat (ako ne vsichki) taka che koito iska da mu e lesno da pazaruva to ne moje vsichko avanta
inache tva s namespaces e ebasi absurda:)
drugite neshta sa si napulno dostatuchni sami po sebe si
-
По мое мнение PHP се харесва на хората поради няколко причини:
1. Учи се много бързо и лесно (има лесен синтаксис и като език не е сложен)
3. Много е лесно и удобно използването му в комбина с MySQL (то за това е направен)
4. Удобен е за правене на динамични WEB страници (пак в комбина с разни CSS, ASP и други .. не ги разбирам там нещата)
Това е по отношение какво хората намират в PHP (според мен). Какво обаче PHP има пред Perl не мога да кажа. За мен Perl е много привлекателен език, който имам мерак да уча, но в устите на много хора ехти фразата, че Perl бил умрял език и други подобни. Според мен Perl е точно толкова мъртъв, колкото е C-то. Просто го замества нещо комерсиално наложило се, защото върши определена работа бързо и лесно, но никой не поставя въпроса дали я върши качествено. :)
1. Езикът е с подобен на C/C++ синтаксис. Както и редица други.
3. Този пример с MySQL не го разбрах, ако удобността е в това да се пълни кода със заявки от родан а "mysql_query"... лош пример. Има APi-та както за всички важни DB-та.
4. В комбина са ASP не виждам как ще запали, CSS е съвсем друго нещо. По-скоро неудобен е според моите впечатления.
-
п.п. пиша го защото искам мнение защо подяволите един толкова прецакан език се харесва на хората
Щото е лесно бе човек. Да не мислиш, че един начинаещ чайник мисли за неща като namespaces, thread safe code и naming convention? Той си гледа там да с две прости команди да изкара две поленца от базата и е на седмото небе от щастие. И от тук нататък нищо не можеш да му вкараш в главата. За него, това което зане RULEZ и точка.
Николай
-
п.п. пиша го защото искам мнение защо подяволите един толкова прецакан език се харесва на хората
Щото е лесно бе човек. Да не мислиш, че един начинаещ чайник мисли за неща като namespaces, thread safe code и naming convention? Той си гледа там да с две прости команди да изкара две поленца от базата и е на седмото небе от щастие. И от тук нататък нищо не можеш да му вкараш в главата. За него, това което зане RULEZ и точка.
Николай
ama to i na JSP s 2 komandi moje mu izkarash raznite raoti ot bazata :)
-
Николай напипа нещата. Както се казваше в една реклама "Само за вас е" :).
-
koi sa tia 2 komandi na jsp?:)
-
Hello world? :)
-
ne te sa za izsmukvane na tablica ot DB
-
Stilgar na JSP li ?
nqmash griji eto taka sa :
<%@ page import="moq.Lud.Paket.Za.MySQL.Samo.I.Nishto.Drugo"%>
<HTML>
<BODY>
<%(new MoqLudKlas()).pokajiMiLudataMiBazaVTablicaKoqtoDajeImaSortirovka();%>
</BODY>
</HTML>
realno redovete sa 2 :) koito sa na JSP
-
Joke, eто ти го на PHP:
<?include("moq_Lud_Paket_Za_MySQL_Samo_I_Nishto_Drugo.php");>
<HTML>
<BODY>
<?php $t = new MoqLudKlas;$t->pokajiMiLudataMiBazaVTablicaKoqtoDajeImaSortirovka();?>
</BODY>
</HTML>
-
eto go moia lud app na .NET vkluchvasht web server i vsichko za ludata mi baza sus sortirovka (po-luda ot vashite)
Stilgar's_Integrated_Website_and_Server.exe
-
eto go moia lud app na .NET vkluchvasht web server i vsichko za ludata mi baza sus sortirovka (po-luda ot vashite)
Stilgar's_Integrated_Website_and_Server.exe
XXAXAXAAXA :)
-
Ех, как обичам такива дискусии (теми за ракийка, биричка и кой квото пие) :bravo: същото като какво обичат жените (в смисъл дължина на едно нещо) :-P
Аз си програмирам на Delphi 5 (Паскал), защото си го знам, имам си набор от нужните специализирани компоненти (някои са купени законно, толкова са специфични - протоколи за индустриални комуникации и уреди). Но съм сигурен, че за 1-2 седмици ще науча и .NET C# и квото се наложи, както се оказа и с Perl, когато ми потрябва 2001 да работя по сериозен проект - говоря за навлизане в езика и API-тата, не за гуру.
Сега за PHP - езика се развива, много масово се иползва, натрупа се доста код (свободен при това), има го в 99% от хостинг сърверите, лесен е за научаване, удобен е за обработка на регулярни изрази (за ковто е създаден) и просто НЕ Е КОФТИ, А ПРОСТО ВЪРШИ РАБОТА!
-
i java e svoboden:)
spored men php skoro ke padne
niama da moje da izdurji napuna na serioznite platformi
-
Няма напълно да падне, но е обречен на неуспех за сериозни неща.
-
Опитах се да намеря статията в която някакъв от сън беше казал
цитирам по спомени:
"PHP е това, което Java трябваше да бъде"
не я намерих но намерих нещо друго което пак е по темата.
Publicly IBM says Java is still this shiznit AND PHP is the snhizzle. The revelation here is that IBM is officially teaming with ZEND and backing up some improvements and related technologies in the area of PHP. Great news for PHP (and PHP is still great stuff).
It seems though that an "unnamed" IBM exec has stated the reason for the interest in PHP is that Java just hasnt taken off the way they expected. "They want people to build applications quickly that tap into IBM back-ends...and with Java, it just isn't happening."
The Java statement is of course unofficial (wont give your name, nice work) and ignorant.
That said though PHP is still much easier than Java for most small and quick projects. I think the main thing that makes PHP "easier" is not the syntax or the breadth of the API and so on (both Java and PHP are very easy to use/write and both have tons of "functions" via various APIs, and yes PHP is a bit easier because its interpreted and not compiled but thats not the *main* thing) but the fact that its just an Apache module and you are on your way. You dont have to have a "container" and a slice of memory for the heap and a private JVM and so on. Every 10 dollar a month hosting provider has PHP and thats what makes it "easy".
Вярно че на PHP му липсват много неща но това не го прави "кофти език"
като за начинаещи е перфектен.
Дори няма типове (което може би най-много бърка начинаещите програмисти)
те правят разлика между число и стринг ама защо компютъра не прави ?!
така че за първи език php е много подходящ. след това вече не е проблем да се мине на нещо по-развито (Java,.NET,C++,etc.)
Относно сериозните проекти на PHP... защо yahoo продължава да използва php а не мине на нещо по-сериозно (може би yahoo са несериозни)
това което в момента се прави на php в yahoo е:
beta.bookmarks.yahoo.com
използват symfony framework:
www.symfony-project.com
-
Ще си позволя един по-кратък цитат:
"I guess there’s a perspective of someone who’s done a whole breadth of applications using Java. We all know that ruby/python can be used for 80% of the applications that java can be used. But we know(from the 80/20 rule) that the only 20% of the journey is done when you say that 80% work is done. The last 20% takes 80% of the effort. If you’re happy with the 80% work, fine."
http://lesscode.org/2006/03/12/someone-tell-gosling/
-
Опитах се да намеря статията в която някакъв от сън беше казал
цитирам по спомени:
"PHP е това, което Java трябваше да бъде"
не я намерих но намерих нещо друго което пак е по темата.
Publicly IBM says Java is still this shiznit AND PHP is the snhizzle. The revelation here is that IBM is officially teaming with ZEND and backing up some improvements and related technologies in the area of PHP. Great news for PHP (and PHP is still great stuff).
It seems though that an "unnamed" IBM exec has stated the reason for the interest in PHP is that Java just hasnt taken off the way they expected. "They want people to build applications quickly that tap into IBM back-ends...and with Java, it just isn't happening."
The Java statement is of course unofficial (wont give your name, nice work) and ignorant.
That said though PHP is still much easier than Java for most small and quick projects. I think the main thing that makes PHP "easier" is not the syntax or the breadth of the API and so on (both Java and PHP are very easy to use/write and both have tons of "functions" via various APIs, and yes PHP is a bit easier because its interpreted and not compiled but thats not the *main* thing) but the fact that its just an Apache module and you are on your way. You dont have to have a "container" and a slice of memory for the heap and a private JVM and so on. Every 10 dollar a month hosting provider has PHP and thats what makes it "easy".
Вярно че на PHP му липсват много неща но това не го прави "кофти език"
като за начинаещи е перфектен.
Дори няма типове (което може би най-много бърка начинаещите програмисти)
те правят разлика между число и стринг ама защо компютъра не прави ?!
така че за първи език php е много подходящ. след това вече не е проблем да се мине на нещо по-развито (Java,.NET,C++,etc.)
Относно сериозните проекти на PHP... защо yahoo продължава да използва php а не мине на нещо по-сериозно (може би yahoo са несериозни)
това което в момента се прави на php в yahoo е:
beta.bookmarks.yahoo.com
използват symfony framework:
www.symfony-project.com
ideqta na temata mi ne beshe FLAME zatova go i napisah
ne me interesuva PHP vs Java i etc.
napisah izvadki ot statiata
vij q i komentirai stapkite naistina li e taka tolkova li e ujasno ?
-
Да наистина, нека не се почва флейм, да го даваме точно по темата :).
-
Flame rulz
toia pich deto se e izcepil taka dali oshte raboti v SUN?
-
Относно сериозните проекти на PHP... защо yahoo продължава да използва php а не мине на нещо по-сериозно (може би yahoo са несериозни)
Доколкото знам yahoo са си доразвили пхп-то.
-
da rechem che za yahoo moje da e SVRUH VAJNO da polzvat otvorena tehnologia?
-
Yahoo sa amerikanci
t.e. ne sa nared s glavniq
kakto i da e sq Java kato absoliutno vsichko mine pod GPL v2 shte vidim za yahoo
se pak po vaprosa za PHP
kakvo beshe kazal VooDooman edno vreme :
"Another odd aspect about for Zend, is that they are not known for developing pure PHP projects for others. They developed the Zend engine in C and Zend Studio in Java."
-
към Joke:
е па още никой не е написал ехе на РНР. Нито пък на JSP. Опровергайте ме ако греша.
-
na php niama li compileri za desktop prilojenia?
-
към Joke:
е па още никой не е написал ехе на РНР. Нито пък на JSP. Опровергайте ме ако греша.
nqmash problemi
GTK-PHP ..
pishesh GTK applications za Gnome i WIndows
=> imash exe
krai
-
към Joke:
е па още никой не е написал ехе на РНР. Нито пък на JSP. Опровергайте ме ако греша.
JSP е спецификация за генериране на уеб съдържание...
За desktop приложения - Swing.
-
Иначе има компилатор за .exe но не поддържа всички библиотеки (или поне преди 2 години не поддържаше) и в общи линии е дървен.
php-gtk .... гавра с труп
-
hm stranno
gtk-java nikak ne beshe losho :)
-
Аз не мога да се сравнявам със надъханите професори, но поне имам някакъв опит с PHP....
Минуси:
Компилирането: Когато имаш голямо приложение (най-често сайт) многобройните импресии са проблем за PHP защото има едно постоянно компилиране.
Библиотеките: Не са много гъвкави, по принцип се ползват най-вече тези от php.net, а и в хостинг компаниите са предварително заредени и често няма pecl модули, а ако се занимаваш по-сериозно трябват.
Иначе от при условие че познаваш добре наличните функции обработката на данни е бърза, последно писах приложение с над 100000 клиента, всеки със съответни записи плащания, хистори, адреси и др. И се държеше доста добре, но тук се опира най-вече до база данни, а не до обработващото приложение.
Но мисля че PHP е доста подходящ за информационни приложения на средно ниво, а и аз съм се насочил главно към web интерфейс, за който смятъм че е доста по-добър и гъвкав за работа с информационни приложения.
-
Yahoo sa amerikanci
t.e. ne sa nared s glavniq
Нали не искаше Flame бре, а само го правиш :-D :-D :-D
-
abe web sux
tva e iasno:)
-
Ето Дори Зенд разбраха че Java upravlqva
http://www.zend.com/var/corporate/storage/images/media/images/products/zend_studio/screenshots/java_code_completion/20121-1-eng-US/java_code_completion.jpg
s 2 dumi v php napraiha v Zend Studio da mojesh da polzvash JDK-to s klasovete :)
-
tova koeto razbraha e che veche e avanta:)
-
vsichko e avanta :>
-
Все се чудя, защо във форума пишат най-много колеги дето се занимават с Java. В един момент осъзнах - ами какво друго да правят докато тръгне Java-ta? Пишат постинги, щото ресурс за друго няма.
Не плювайте по другите езици за програмиране. Всеки си има приложение. Ако не беше така досега Хава-та да е превзела всички фронтове на информатиката. Много се писа за нея на времето, ама мноооого, докато след няколко години не се разбра, че и това не е вълшебното лекарство дето всички се надяваха да се появи.
PHP бил кофти, Java била the best, който изказва подобни твърдения май си е губил времето във факултета.
Както знаете италианският е най-добрият за опера, японският за хайку и т.н., не че неможе да се изразите на който и де е от тях. Истината е, че в отделни направления, приложения, ситуации и т.н. има по - подходящ език от другите. Ако наблюдавате хора, които знаят повече от един език от малки, ще забележите, че ползват изрази и думи от различните езици без дори да го осъзнават. Така постигат по-бърза и по-точна (предаване на идеи, емоции и т.н.) комуникация по между си.
Та мисля, че заглавието на темата е малко пресилено.
-
ne e viarno che pishat nai-mnogo kolegi deto se zanimavat s Java
prosto Naiden spami s mnogo postove i se suzdava takova vpechatlenie:)
a koeto si e gadno si e gadno aide sega
nali se seshtash che ima stotici ezici koito ne se polzvat veche
daje i ot estestvenite ezici ima murtvi ezici
te niamat prilojenie v koeto da sa nai-dobri. (tochka)
-
Зависи какво се гони. Ако искам да си пусна blog, forum, cms за 5 минути определено ще избера php + mysql.
-
Зависи какво се гони. Ако искам да си пусна blog, forum, cms за 5 минути определено ще избера php + mysql.
Подкрепям 100% това мнение! Вече толкова оттренирах процедурата по инсталация на e107, че за по-малко от 3 минути имма работеща система! Поне в това отношение PHP продукти има колкото искаш, що годе са качествени и най-важното е, че повечето пъти вършат работата, за която са предвидени.
-
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
-
Въпреки че съм почитател на ПХП от доста отдавна и имам голям, ако не огромен опит с него, ще се опитам да бъда обективен и да отговоря в стила в който Найден си е задал въпроса. Не да флейма.
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, знам как да си правя кода достатъчно добър за да се харесва на интерпретатора и нямам проблеми. Вие знаете някой друг език - това е достатъчно, стига да ви върши работа използвайте го. Ако не ви върши работа, научете го по добре.
Мисля че бях достатъчно изчерпателен с което се надявам наистина да затворим темата.
-
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