Шефе што бидна со GО, едно време тоа го проповедаше?
1. php е синтаксички побогат јазик од јаваскрипт
2.
JavaScript in Node.js (just like in the browser) provides a single threaded environment. This means that no two parts of your application run in parallel; instead, concurrency is achieved through the handling of I/O bound operations asynchronously
А piece of CPU-bound code in a Node.js instance with thousands of clients connected is all it takes to block the event loop, making all the clients wait. CPU-bound codes include attempting to sort a large array, running an extremely long loop, and so on. For example:
function sortUsersByAge(users) {
users.sort(function(a, b) {
return a.age < b.age ? -1 : 1
})
}
додека кај php nginx го хендла ова малку поинаку. Колку подобар хардвер имаш, толку повеќе реквести ќе хендла. Така имаш 8 јадрен процесор да речеме, aко си на линукс имаш команда да провериш - nproc. И да речеме дека имаш 8 јадра, на секое од тие јадра може да се ранува по еден worker процес на nginx. Секое од тие јадра има и капацитет на број на конекции (можеш да провериш со ulimit -u). Да речеме дека има капацитет од 65.000 конекции. 8 * 65000 = 520.000 конкурентни реквести.
3. php е објектно ориентиран јазик, јаваскрипт не е. Новостите воведени во ES6 се syntactic sugar. Така што во php можеш да изградиш апликација која ги почитува OO концептите, што е предуслов за чиста архитектура.
4. Ларавел, најпознатиот php framework, има мантра да ги прави девелоперите среќни, заради тоа и многу луѓе се навлечени на него и целиот процес на пишување код е песна. Отвори код во Ларавел и отвори код во Ноуд. Синтаксата во Ларавел е експресивна и е лесна за човек да ја разбере па дури и ако тој човек гледа код напишан во Ларавел за прв пат во живот. Во Ноуд не е баш така, знам пошто куцам и тоа.
5. Асинхроно извршување може да значи и побрзо извршување, но ако имаш функција која чека аутпут од претходна функција која враќа промис може да биде сосема обратно, а ако не враќа промис значи сигурно баг.