LINUX.ORG.RU
ФорумTalks

[желчь] Веб-программисты как низшая форма жизни


0

1

Профессиональный праздник прошел. Начинается похмелье.

По моему мнению, из всей толпы программистов, где, кроме работников достойных областей вроде разработки системного ПО, научно-вычислительных систем и новых методов хранения и индексации данных, есть и труженики менее уважаемые — программисты 1С, делфи, ремесленники корпоративных информационно-поисковых систем, усердно копипастящие и натирающие до зеркального блеска однообразные формочки добавления-правки-удаления записей из таблиц, а также их эквиваленты в деле проектирования веб-интерфейсов — так вот, среди всей этой толпы особой низостью мышления отличается веб-программист на PHP.

И я не говорю о программисте более широкого профиля, который вот в данный момент вынужден писать денежный проект на PHP, а о таком, который больше ничего и не умеет. Все его познания о программировании лежат в справочнике по HTML и уродливо оформленной книжке «PHP & MySQL. Руководство профессионала».

Приведу один лишь пример. На одном форуме человек предложил денег за простейшую задачу: надо парсить и показывать каталог продуктов. Вся загвоздка была в том, что нельзя было использовать ни PostgreSQL, ни MySQL, ни даже SQLite. Исходные данные о продуктах грузились в определенное место CSV-файлом. Картинки с продуктами лежали в отдельной директории. По заданию, количество продуктов никогда не было заоблачным.

Ну так вот, я от нехрен делать и из чистого любопытства (ну и корыстолюбия, да) задачку ту сделал. Не стал только ее отдавать, когда узнал, каков был бюджет (банковские комиссии съели бы практически всю сумму, ну и сама сумма по себе очень жлобская была). Там работы было часа три на все про все.

Но показательными были сообщения других пользователей. Пользователей, некоторые из которых потрясали уймой опыта, закрученными стартапами и компетентным выражением лица (в том сообществе можно смотреть профессиональные резюме участников). Они искренне недоумевали, как можно без реляционной базы данных сделать фильтрацию и группировку записей. Об альтернативных методах их квадратно-гнездовые мозги задуматься были неспособны.

В общем и целом, я сделал один вывод. Сколько бы опыта применения навыков (даже не знаний) из книжки «PHP & MySQL» человек не имел, если это + краткий экскурс по фронтэндовым технологиям а-ля jQuery — это все, что он за эти годы узнал в своей профессии, то он не программист. Даже не личинка программиста. Это квинтэссенция непрофессионализма: неспособность даже представить себе возможность существования нестандартной ситуации. И в этом его сходство с паразитом, паттерн жизнедеятельности которого может быть достаточно сложным, но при этом настолько узко специализирован, что любое отклонение от этого паттерна смертельно.

★★★★★

Последнее исправление: shimon (всего исправлений: 1)

Ответ на: комментарий от gh0stwizard

> 1. fgetcsv

2. php-csv-utils

3. MagicParser



А теперь скажи: как хоть одно из этих решений (я брал первое, ибо из коробки) даст возможность _быстро_ отфильтровать данные по двум ранее неизвестным признакам, после чего организовать что-то наподобие offset/limit?

shimon ★★★★★
() автор топика
Ответ на: комментарий от ef37

Вы покажите вначале толковый модуль для работы с CSV, потом умничайте.

В гугле забанили? Из всего этого разнообразия я думаю можно выбрать что-то вменяемое.

drull ★☆☆☆
()
Ответ на: Раньше я тоже так думал от PavelR

Это все ваша масква. Но у россии и сша есть огромная разница: программист из глубинки частенько выдает достаточно качественный результат, в отличие индусо-китайца. На том же западе местные программисты давно называются «консультантами», их зовут, когда понимают, в какой огромной жопе оказались от китайского кода, чтобы они разрулили ситуацию, и им платят трехзначные суммы долларов в ЧАС.

shimon ★★★★★
() автор топика

«все п...асы, а я Д'Артаньян»

annulen ★★★★★
()
Ответ на: комментарий от shimon

> Это все ваша масква. Но у россии и сша есть огромная разница: программист из глубинки частенько выдает достаточно качественный результат, в отличие индусо-китайца.

Пускай выдает, если он такой идиот. Индусы же придерживаются другого принципа: за такую цену будете получать соответствующий результат.

История из топика показательна. Изобретать очередной велосипед «СУБД на файликах» может лишь не ценящий своего времени бездарь. Нет, можно таким заниматься, но только за дополнительную плату. Заказчик же бывает невменяемый, таковых нужно просто стороной обходить.

Хочешь что нестандартное? Так и изволь бабла откинуть соответственно. А то поставят бюджет в три копейки, а затем удивляются, что на заказ клюнули лишь отбросы общества. Ценящие себя специалисты в таковом просто не участвуют.

На том же западе местные программисты давно называются «консультантами», их зовут, когда понимают, в какой огромной жопе оказались от китайского кода, чтобы они разрулили ситуацию, и им платят трехзначные суммы долларов в ЧАС.

Сейчас лопну от смеха... А откуда опыт то у этих консультантов, если у них всю работу китайцы отобрали? От чтения книжек он не прибавиться.

PavelR
()
Ответ на: комментарий от PavelR

>> Остался однако вопрос - а какое тогда достойное занятие для Ъ-потомственного москвича? c околотехническо-математическим образом мыслей?

Зачем тебе, понаеху, это знать? Сиди, кодери очередной интересный проект и жуй доширак. Ты лишний на празднике жизни.

ты заблуждаешься. Посмотри на депутатов, нефтекомпании, прочие органы власти - там процент понаехалов как минимум не меньше чем в генеральной совокупности.

gods-little-toy ★★★
()
Ответ на: комментарий от shimon

> Это все ваша масква. Но у россии и сша есть огромная разница: программист из глубинки частенько выдает достаточно качественный результат, в отличие индусо-китайца.

Поправка: *дешевого* индусо-китайца.

gods-little-toy ★★★
()
Ответ на: комментарий от PavelR

> Сейчас лопну от смеха... А откуда опыт то у этих консультантов, если у них всю работу китайцы отобрали? От чтения книжек он не прибавиться.

Местные сначала разрабатывали системы, потом их сократили в пользу индусов, потом наступила бида-бида, и местные снова в строю, но в другой роли и уж точно за другие деньги.

Ты думаешь, что опыт приобретается только сидением с 9 до 17 в кьюбикле? Мне жаль, но ты заблуждаешься.

shimon ★★★★★
() автор топика
Ответ на: комментарий от PavelR

> Сейчас лопну от смеха... А откуда опыт то у этих консультантов, если у них всю работу китайцы отобрали? От чтения книжек он не прибавиться.

у консультанта как раз опыту выше крыши. Сколько разных компаний/проектов/эпичных фейлов БД видит сидящий на одном месте программист или дба? Не много.

А вот едущий каждую неделю в новую компанию консультант - видел целую кучу, книжку али аналитические обзоры может писать

gods-little-toy ★★★
()
Ответ на: комментарий от gh0stwizard

>Вобщем с тех пор я ничего под PHP и не пишу :)

я тоже :-) Но осадочек-то остался :-)

ef37 ★★
()
Ответ на: Раньше я тоже так думал от PavelR

> В России же, где все приходит с небольшим опозданием, нишу начнут занимать таджики.

Уже сейчас в Москве не найдешь ни одного коренного москвича занятого программированием.


Давно ли Внутримкадье стало частью России?

dexpl ★★★★★
()

Критерий профессиональности - умение осваивать новую методику если освоение методики+время реализации проекта с новой методикой окажется меньшим чем время реализации с использованием старой методики. Профессионал, не умеющий менять инструменты в зависимости от задачи профессионалом не является. А человек, не способный к обучению - вообще не является разумным существом

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от zloy_buratino

>Всё верно, только добавлю от себя что все программисты, кроме программирующих на языке ассемблера - низшие формы жизни.

Ты не понял послания. Хорошему программисту абсолютно пофиг на чем он программирует. Те кто парсит веб-страницы на Си не меньшие неудачники чем те кто пишут ядро на жабе

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от gh0stwizard

> В вашей задачи, любому программисту надо найти либу, модуль, назовите как угодно, который умеет полноценно работать с CSV-файлом.

CSV — довольно тупой формат, который парсится в несколько строчек. Но не знаю как в похапе, но в питоне уже встроена либа для парсинга csv.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Ага, в питоне хорошая библиотека под это дело. CSV формат простой, но неприятные нюансы всё же имеются, не всё там так просто, к сожалению.

Droid790
()
Ответ на: комментарий от simple_best_world_web_master

> без регекспов позязя.

Без регекспиков трудно, насяльника.

PolarFox ★★★★★
()
Ответ на: комментарий от simple_best_world_web_master

Не одной строкой, но без регекспов, на питоне:

>>> def parse(input):
...     output = []; q = [False]
...     for x in input.split(','): q.__setitem__(0, True) or output.append(x[1:]) if x.startswith('"') else (q.__setitem__(0, False) or output.__setitem__(len(output)-1,  ','.join((output[len(output) - 1], x[:-1]))) if q[0] and x.endswith('"') else ( output.append(x) if not q[0] else output.__setitem__(len(output)-1, ','.join((str(output[len(output)-1]), x)))))
...     return output
... 
>>> parse('123,456,"9823,234242",23569')
['123', '456', '9823,234242', '23569']
shimon ★★★★★
() автор топика
Ответ на: комментарий от simple_best_world_web_master

> Распарси мне

123,456,«9823,234242»,23569

одной строкой, без регекспов позязя



2 tokenizer'а последовательно, по кавычкам, по запятым (только нечетные токены)

FollowTheRabbit
()
Ответ на: комментарий от dexpl

странно, я считаю что Россия - это только внутримкадье. ЗА МКАДом жизни то и нету - прозябание и работа на то самое внутримдкадье.

JFreeM ★★★☆
()
Ответ на: комментарий от ArtemZ

> MySQL

Не мешает ли MySQL в реализации идей?

Когда я пробовал его использовать, то MySQL вызвал у меня легкое удивление.

Меня поразила его независимость бэкэндов от оптимизатора запроса.

Также меня поразило отсутствие ошибок и молчаливый транкейт данных в случае когда данные не помещаются в тип данных.

Также меня неприятно поразило отсутсвие LGPL библиотек и явное требование покупки лицензии для использования MySQL в составе программно аппаратных комплексов, поставляемых заказчику.

Также как я понял транзакционный бэкэнд InnoDB использует для сериализации транзакций блокировки.

Для меня осталось загадкой насколько хорош его оптимизатор - потому что переключился на использование других БД.

Хотя возможно я делал что-то не так. ;)

sign
()
Ответ на: комментарий от simple_best_world_web_master

> Дык я же низшая форма жизни

Я тоже недавно для себя решил, что я низшая форма жизни (а именно, я сине-зеленая водоросль)

Тоже последнее время стал присматриваться к NOSQL. Вероятно есть задачи, где его применение обосновано. Но правильно ли я понимаю, что с любыми операциями, отличными от доступа по хэшу там большие сложности? Как например решать задачи связанные с аналитическими отчетами? Перегонять данные в SQL базу и запускать отчеты на ней? Что там с целостностью данных при отключении электропитания на всех компьютерах (да, даже бесперебойники могут выйти из строя)?

sign
()
Ответ на: комментарий от simple_best_world_web_master

> Экранирование забыл:

123,456,«9823,234\„242“,23569


это наша расейская черта, техзадание менять на ходу, или все этим грешат? :D

FollowTheRabbit
()

Ты крут, похапешники - отстой.
die($thread);
?>

Deleted
()
Ответ на: комментарий от sign

Ну в общем почти по всем пунктам вы правы, но я привык уже. Когда-нибудь перейду на Постгре, но не сегодня и не завтра (пипл хавает продукты на мускуле)

ArtemZ
()
Ответ на: комментарий от sign

> что с любыми операциями, отличными от доступа по хэшу там большие сложности?

Да, благо хеши могут быть разными и красивыми, тем самым обеспечивая достаточную гибкость при выборках (чем-то это похоже на легендарный калькулятор на препроцессоре), но ежели у тебя запросы разовые, или размером на пару страниц, то это тебе не поможет - проще сдернуть все и извращаться прямо в оперативке.

Что там с целостностью данных при отключении электропитания на всех компьютерах (да, даже бесперебойники могут выйти из строя)?

Смотря что за база, смотря как реплицируется/кешируется, может там вообще что-то вроде logfs? Тогда пропадут только последние записи. Их же сейчас до чертиков развелось разных - выбирай на свой вкус и цвет.

simple_best_world_web_master
()
Ответ на: комментарий от FollowTheRabbit

> это наша расейская черта, техзадание менять на ходу, или все этим грешат? :D

Это ТЗ на парсинг CSV одной строкой, просто пример я привел некорректный, ты бы и так должен знать, что внутри CSV может лежать.

simple_best_world_web_master
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.