Работа тестировщиком после переезда в Германию
Только-что открыл фейсбук в инспекторе, дал поиск по .php, инспектор нашёл где-то 117 объектов с названием ".php". Ну я знаю с уст некого Ивана Блинкова вот это https://www.insight-it.ru/highload/2010/arkhitektura-faceb..., дело в том, что когда устраиваешься на работу, то в фертраге написано об этом - https://ru.wikipedia.org/wiki/Согл�%... Так что ни вы, ни я правду не узнаем. Про автора статьи можете глянуть тут https://www.insight-it.ru/author/
С конца 2012 года работаю техническим менеджером в Яндексе, до этого работал техническим директором и/или системным архитектором в небольших интернет-проектах. Также я оказываю независимые консультации. Если интересно подробнее - можно ознакомиться с моим резюме.
И да автор статьи отвечает почему PHP, опровергая слова koder-а:
Почему PHP?
Во многом "так исторически сложилось"
Хорошо подходит для веб-разработки
Легок в изучении: небольшой набор выражений и языковых конструкций
Легок в написании: нестрогая типизация и универсальный "массив"
Легок в чтении: синтаксис похож на C++ и Java
Прост в дебаггинге: нет необходимости в перекомпиляции
Большой ассортимент библиотек, актуальных для веб-проектов
Подходит для процесса разработки с короткими итерациями
Активное сообщество разработчиков по всему миру
Динамическая типизация, интерпретируемый язык для скриптов
Легок в изучении: небольшой набор выражений и языковых конструкций
Легок в написании: нестрогая типизация и универсальный "массив"
Легок в чтении: синтаксис похож на C++ и Java
Прост в дебаггинге: нет необходимости в перекомпиляции
Большой ассортимент библиотек, актуальных для веб-проектов
Подходит для процесса разработки с короткими итерациями
Активное сообщество разработчиков по всему миру
Динамическая типизация, интерпретируемый язык для скриптов
Мои слова легко опровергать, особенно если я ничего не говорил. Еще раз. Играться можно хоть компьютеры из проводков паять. Если же заниматься программированием профессионально, то критерий один - наличие рабочих мест. Все. Ну не возьмут ТСа техническим консультантом в яндекс и ему все равно, на чем написан фейсбук. Да хоть на бейсике.
Вы написали что в чужом пхп копаться сложно и что за пхп мало платят.
По мне так PHP самый простой синтакс, это у ООЯП код трудночитаемый. У PHP светлое будущее https://habr.com/ru/company/edison/blog/471982/. Книги по PHP дорогие, курсы очень дорогие, компоненты очень дорогие, и в интернете на Ebay продают модуил на PHP где-то за 100 евро. Раньше можно было купить такое чудо, и это чудо стояло 49,95€. Сейчас точно такое-же продают Selbständige на Ebay:
PHP никуда не дениться. В Германии есть много мелких контор, а у владельцев этих мелких контор не так уж много денег. Допустим один человек просил меня сделать генератор купонов, и чтобы это всё было на PHP, HTML и JavaScript. Должна быть небольшая PHP программка, спомощью которой заносишь данные клиента, можно искать клиента, и генерируется промокод, который отправляется либо по эл.почте, либо по почте, а в MySQL должны храниться данные о клиентах, адрес клиентов, промокод, и дата истечения скидки.
И кстати, после того как сделаю основное, ещё нужно чтобы либо бар код или QR код генерировала, а так-же чтобы можно было считывать. С бар кодом всё просто, для генератор бар кода можно использовать готовые шрифты, а чтобы бар код считыватся, подключаешь бар код сканер, он работает как клавиатура вроде, а QR код можно уже спомощью веб браузера сканировать см. https://medium.com/@minhazav/qr-code-scanner-using-html-an..., а для генерации QR кода я использую вот эту PHP библиотеку - http://phpqrcode.sourceforge.net/ Ещё можно было бы экспорт в PDF, раньше помойму использовал FPDF - http://fpdf.de/start.html.
Похоже, книги перешли в разряд раритетых, т.е. их давно не переиздают, но спрос пока еще есть. А вообще знаю одного коллегу, который до сих пор древние базы данных на Fox Pro обслуживает (где то в банковском секторе), и надеется до пенсии обойтись без переучивания.
Похоже, книги перешли в разряд раритетых
Какие книги? Сейчас многие книги в формате PDF, но всё равно дорогие - https://www.rheinwerk-verlag.de/web-online-marketing/webentwicklung/php-und-mysql/
А вообще знаю одного коллегу, который до сих пор древние базы данных на Fox Pro обслуживает (где то в банковском секторе), и надеется до пенсии обойтись без переучивания.
А причём тут FoxPro? Если у Selbständiger нет денег на дорогой софт, или если он не готов платить за дорогую программу, он погуглит, и найдёт то что ему надо, может там ему не нужны функции. Чаще всего требуются простеньки программки типа Banf, Lager, Verein, Haushaltsbuch, Haushaltsinventar, Adressenverwaltung.
Ок. Был не прав, осознал. Мне сложно. Имхо.
Всем сложно, кто хоть раз этим занимался. А не теоретизирует на основании полученных на аусбильдунге "знаний".
Страшнее пыхыпышного кода я видел только перловый скрипт, написанный перловым "гуру". Что характерно, этот самый гуру тоже ничерта не смог поправить в своем собственном скрипте. Пришлось заново писать. А пыхыпы... О... Дело не только в самом языке, на нём можно тоже писать понятно и читабельно. Проблема в том что любой дурак за 5 минут пишет hello world и с этого момента считает себя великим программиздом. А в языке нет ничего, ни типизации, ни компилятора, который бьёт по рукам за неотловленные исключения, что могло бы удержать этого программизда наваять очередное непонятное. Скорее наоборот - не ошибку сообщить, а "додумать" за программизда. Зато быстро. Зато через два года проще написать заново, чем расширить.
Сидишь и пытаешься понять, вот тут $a + $b написано, почему он обычно складывает нормально, а иногда не добавляет б? А просто в одном месте, где б считывается оно внезапно не число, а буковка. Ошибка на входе, да, бывает. И вместо ошибки пыхыпы гладит дурачка-программизда по головке и говорит: "ну не плачь, маленький, не буду я твою бяку складывать, смотри как красиво, всё работает, а?"
Сидишь и пытаешься понять, вот тут $a + $b написано, почему он обычно складывает нормально, а иногда не добавляет б? А просто в одном месте, где б считывается оно внезапно не число, а буковка. Ошибка на входе, да, бывает. И вместо ошибки пыхыпы гладит дурачка-программизда по головке и говорит: "ну не плачь, маленький, не буду я твою бяку складывать, смотри как красиво, всё работает, а?"
Ну так там как раз защита, конкатенация в PHP через знак ".", а знак "+" это арифметическая операция, т.е. если $a = 5;, а $b = 'б'; и написать черз знак плюс, т.е. так: echo $a + $b, то код не выполниться и выйдет ошибка типа:
Warning: A non-numeric value encountered in [...][...] on line 4
А если вы напишите через токчку echo $a . $b; то код сработает, и увидите
5б/
И ещё кое-что, переменные начинаются со знаком $, константы и функции без знака $, конкатенация через знак ".", а сложение через знак "+". Там где функция пишим function.
Страшнее пыхыпышного кода я видел только перловый скрипт
-----
Да ладно...
Каку можно слепить на любом языке. И видел Я их и на Pure ASP, i na JSP, i na ASP.NET.
Причем "поправить" приличного кодера можно за буквально пару дней - просто некому это делать - в большинстве шаражек CEO вообще ни в курсе что есть какие-то технологии... ну акромя того что лепят его прогеры.
Ошибка на входе, да, бывает.
-----
Хи-хи...
Ты еще не видел серверного жабьего скрипта - там ее директiвой задавить можно - просто выход будет не тот и никаких ошибок.
Дискутировать о преимуществах и недостатках того или иного языка можно бесконечно.
В любом случае, будут две группы, которым язык определенно нравится и которым абсолютно нет. Ну и кто то будет еще между ними
Не думаю, что получится как то изменить это соотношение.
"ну не плачь, маленький, не буду я твою бяку складывать, смотри как красиво, всё работает, а?"
Преверил на несколько языках:
1. В JavaScript, в данной ситуации я проверил на NodeJS:
var a=3;
var b='a';
console.log(a+b);
Результат:
3a
2- В C#:
int a = 3;
String b = "AA";
Console.WriteLine(a + b);
Результат:
3AA
3. На Java:
int a = 4;
String b = "A";
System.out.println(a+b);
Результат:
4A
4. На PHP:
$a = 5;
$b= 'aa';
echo $a + $b;
Результат:
Warning: A non-numeric value encountered in C:\xampp\htdocs\concat\index.php on line 4
5
А если так:
$a = 5;$b= 'aa';echo $b . $a;
То результат:
aa5
5. На Python:
a=5
b='a'
print(a+b)
Результат:
Traceback (most recent call last):
File "C:\\concatpy\test.py", line 4, in <module>
print(a+b)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
6. GO:
package mainimport ("fmt")
func main() {
a:="A" b:=5
a += b
fmt.Println(a)
}
Результат:
# command-line-arguments
./Main.go:8:4: invalid operation: a += b (mismatched types string and int)
И кто дурак?
String b = "AA";
Вы не понимаете, что здесь написано. Это типизированный язык и я как программист, декларировал "b" как текст. Я еще не положил в него ни одного значения, но случайности исключены - я сразу предусмотрел, что в этой переменной не может быть чисел. И наоборот. int b - означает, что я исключаю возможность, что в результате работы программы в переменную "б" попадет текст. Только числа.
поэтому неважно как работает прога, 1 + 1 = 11 исключено. Вообще. Абсолютно.
Вообще MrSanders спутал конкатинацию с арифметической операцией, он говорит если в PHP $a=5, а $b='б'; то если сделать операцию $a+$b то сработает не сложение, а конкатинация, т.е. по идеи должно быть "5б". Но нет PHP даст предупреждение, потому-что "+" это арифметическая операция, а не конкатинация, она выдаст предупреждение и строку где произошёл сбой, и выдаст только 5. А если $a.$b то не даст ошибку, т.к. это является в PHP конкатинацией, и результат будет как раз "5б". В других языках типа C++, C# "+" это арифметический оператор если примитивные типы данных, а если объект то вызывается метод "operator +" во всяком в Си++ такое есть, и помойму перегрузка называется см. https://en.cppreference.com/w/cpp/language/operators.и https://ru.wikipedia.org/wiki/Пере�%...
Вообще MrSanders спутал конкатинацию с арифметической операцией
Нет. Эту путаницу допускают нетипизированные языки. Это означает, что при обьявлении переменной не устанавливается тип. И если операция определяется символом (а конкатинация и математическое сложение часто определяются одним символом +), а тип данных зависит от введенного значения (неаянно в результате паботы проги в переменную вместо 1 попало "1"), то результат ВДРУГ окажется непредсказуемым. Язык позволяет выстрелить себе в ногу.
Я сейчас трахаюсь с ЯваСкрипт и там та же ситуация. Насчет ПХП точно не знаю, я знаю этот язык очень плохо
Нет. Эту путаницу допускают нетипизированные языки.
Ну вот, а в PHP конкатенация это ".", а не "+", "+" это арифметический оператор. Всё логично продумано, и защищено от путаницы. Иногда когда перехожу на другие языки, поинерции ставлю "." вместо "+".
2- В C#:
int a = 3;
String b = "AA";
Console.WriteLine(a + b);
Ну вообще то нужно и тесты правильно делать. Пояснять ошибку надо?
Правильнее было записать так. И не нужно было даже ничего выполнять
Но в PHP и это не поможет
int a = 3; String b = "AA"; int c = a + b; Console.WriteLine(c);