messy programming по-индийски

User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

sergey1234 wrote:Mерило профессионального успеxа одно, зарплата. Сравнивайте не кто лучше пишет код (вы или индус в соседнем кубике), а кто больше получает.

Сергей, при всем уважении к вам , вы, простите, пишете полную херню. Не уподобляйтесь UFOPassanger'у, пожалуйста. Вы не можите сравнивать криворукого индуса с Green Card с бOльшей зарплатой, чем, например, Бродягу с меньшей потому что он на H1B. О разнице в профессионализме обоих спорить, надеюсь, не будем?
Вы, ребята, приехавшие сюда уже с разрешением на работу (или получившие GC до 2000) даже представление не имеете о всех прелестях жизни с этим гребаным статусом в сегодняшние дни.
И еще, когда я говорю о "профессионализме", я в первую очередь имею в виду профессиональную этику, о деньгах речи вообще нет, поскольку это зависит от множества факторов, например от умения лизать одно место менеджерам. Вы же не будете утверждать, что это умение коррелирует с искусством программирования? А на зарплате может отражаться не хило.
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

sergey1234 wrote:Понимаете, чиста с точки зрения прикладной псиxологии, понятия "xороший"/"плоxой" (да и "профессионал"/"любитель") - относительны. Т.е.: "кто-то - xороший программист" - обязательно по сравнению с кем-то. Скажем xороший средний профессионал - xороший по сравнению с неким придурком, но плоxой по сравнению с крутым гуру.

Согласен на 100%! По сравниению с лидом, с котроым я работал в .com start-up'e я - хреновый программист. Но ежедневно пытаюсь сократить дистанцию ;)
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

IA72 wrote:Ааа. Мама, хочу в Советский Союз (уходит, плача и капая слезами на распечатку свежеполученного письма от заказчика "ну, э, сделайте, в общем, что бы было красиво, круто, и вообще")

В чем проблема? Пишите spec, рисуете UI, например by MS Visio, обсуждаете детали с заказчиком, повторяете итерацию до обоюдного согласия. Потом дизайн, имплементация.
Вы, ребята, о технологическом процессе представление имеете? Экономьте время - .doc файл переписать проще и дешевле чем .cpp
Вы ж поймите, в конечном итоге это и быстрее и дешевле получается.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

sergey1234 wrote: Т.е.: "кто-то - xороший программист" - обязательно по сравнению с кем-то. Скажем xороший средний профессионал - xороший по сравнению с неким придурком, но плоxой по сравнению с крутым гуру.


Все правильно.. Но когда те, кто программирует хуже, оказываются все индусами, волей-неволей задумаешься :)

sergey1234 wrote:Mерило профессионального успеxа одно, зарплата.


У нас про это говорить рано. Зарплату еще не платят никому (верне уже, потому что когда-то платили). Однако очевидно, что работают люди разного уровня, в том числе и хорошие профессионалы. Те, кто уже много сложил в этот стартап, чтобы бросить. К тому же бета только вышла, заказчики появляются, шансы неплохие.

Хотя я полностью согласна, что "дадут всем по заслугам". Очень интересно посмотреть какой будет тогда расклад.

Сабина
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

Mic wrote:
IA72 wrote:Ааа. Мама, хочу в Советский Союз (уходит, плача и капая слезами на распечатку свежеполученного письма от заказчика "ну, э, сделайте, в общем, что бы было красиво, круто, и вообще")

В чем проблема? Пишите spec, рисуете UI, например by MS Visio, обсуждаете детали с заказчиком, повторяете итерацию до обоюдного согласия. Потом дизайн, имплементация.
Вы, ребята, о технологическом процессе представление имеете? Экономьте время - .doc файл переписать проще и дешевле чем .cpp
Вы ж поймите, в конечном итоге это и быстрее и дешевле получается.


Обсуждать какие детали? Несуществующего приложения?
Для этого заказчик должен обладать изрядной квалификацией и воображением. Умением читать спецификации и смотреть на UI уродца в Visio. Проще и _быстрее_ написать demoware и дать на рассмотрение.
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Re: messy programming по-индийски

Post by Hamster »

Sabina wrote:Вторую неделю убиваю массу времени разбираясь в коде, написанном индийскими коллегами: все свалено в кучу, файлы доходят до 4K строк, все лэйауты GridBag, данные гоняют туда-сюда надо/не надо, плодят кучу ненужных рекордс в базе во имя своего удобства.
Назвать это объектно-ориентированным просто язык не поворачивается.

Скажите, что это только у нас такой бардак :( , а вообще индусские программисты они белые и пушистые ....



Мне по работе приходится иметь дело с такой чудной вещью, как MPEG-4 reference software. Это продукт, который определяет стандарт MPEG-4, и имеет приоритет просто над всем ( если software делает одно, а в официальном ISO-шном документе написано другое, верить надо софту ). Написан большей частью профессорами - европейцами, японцами, китайцами. Индийцев среди разработчиков не было. И скажу я вам, профессора писать код не любят или не умеют. :)
4k строк в файле это, по вашему, много? В reference software десяток C-файлов по 5k+ строк, в одном 12k. Такой солидный файл в 400 килобайт весом, с имплементациями 37 функций. Про декларации функций авторы никогда не слышали - пользуются тем, что в C это делать необязательно. Стандартные типы языка им не нравятся. Вместо short и int используются Short и Int соответственно, жестко определенные через typedef. Надо думать, для платформной независимости. В то же время авторы очень любят неявно кастовать float к int'у ( хотя стандарт языка не определяет, в какую сторону будет делаться округление ).

Но это все цветочки. Сейчас на горизонте вырисовывается новый стандарт - H.264. Я видел reference software и для него ( тоже профессора, но другие ). Такая деталь. Все переменные, определяющие состояние енкодера / декодера, глобальные. И определены в хедере global.h, который включается в каждый файл в проекте. Я скажу честно, я не знал, что так можно. Если попробовать скомпилировать этот код C++ компилятором, начинают сыпаться сотни ошибок про "multiply defined symbols". А C-компилятор работает...

Так что дело не в национальности. Дело в образовании.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: messy programming по-индийски

Post by Sabina »

Mic wrote:Кстати, у нас есть класс в котором 27,000 (двадцать семь тысяч) строк кода :roll:
Это очень хорошо, что вы понимаете на сколько плохо даже 4K


Раз уж начались страшилки, расскажу еще одну. :) "Мои друзья"-индусы так написали UI, что при апдейте одного параметра объекта, пишутся рекорды в кучу относящиеся к этому объекту таблиц.

Когдя я написала и поставила триггеры для audit, на меня такое из базы вывалилось, что волей-неволей пришлось в их коде разбираться. Вы говорите "делай нормально свое, а в ихнее не лезь". А вот не получается... В итоге переделала я свои триггеры и functions наворочала трехэтажных, чтобы в мои таблицы писали только meaningfull records. На 250 ихних records - 40 по делу.

Они это называют temporary solution. Типа web service, клиент этого не увидит. А что если появится enterprise customer, который купит себе всю систему? За одну ночь код перепишут?

Рассказать бы это преподу по Perl классу, который мне снизил 5 баллов из 100 за безупречно работающую программу.

Причина объяснялась так:

Согласно его coding standards, все переменные должны быть названы со смыслом, а я посмела обозвать переменную в цикле просто i :

//Outer loop
for(int $i=0;....

А надо было:

for(int $outerLoop=0;....

А в общем и целом, индусы сами по себе неплохие ребята. Только вот с преподами им видать не повезло :lol:
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

IA72 wrote:
Mic wrote:...Пишите spec, рисуете UI, например by MS Visio, обсуждаете детали с заказчиком

Обсуждать какие детали? Несуществующего приложения?
Для этого заказчик должен обладать изрядной квалификацией и воображением. Умением читать спецификации и смотреть на UI уродца в Visio.

Мне сложно судить, я всегда работал с квалифицированными людьми и клинические случаи не встречались.

IA72 wrote:Проще и _быстрее_ написать demoware и дать на рассмотрение.

Это заблуждение. Со временем вы измените свою точку зрения.
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Re: messy programming по-индийски

Post by Mic »

Sabina wrote:Рассказать бы это преподу по Perl классу, который мне снизил 5 баллов из 100 за безупречно работающую программу.

Причина объяснялась так:

Согласно его coding standards, все переменные должны быть названы со смыслом, а я посмела обозвать переменную в цикле просто i :

Препод - теоретик. Если придерживаться простого правила, что функция не должна быть длинее 2-3 экранов, а в идеале < 1 то на практике это делать нет смысла, при правильном дизайне все понятно и без этих извращений. Тем более в практических книжках (например Голуба) рекомендуют использовать в циклах именно i, j и k как счетчики.
Last edited by Mic on 25 Oct 2003 07:40, edited 1 time in total.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: messy programming по-индийски

Post by Sabina »

Hamster wrote:Мне по работе приходится иметь дело с такой чудной вещью, как MPEG-4 reference software. .....
4k строк в файле это, по вашему, много? В reference software десяток C-файлов по 5k+ строк, в одном 12k.
....
Все переменные, определяющие состояние енкодера / декодера, глобальные. .....
Если попробовать скомпилировать этот код C++ компилятором, начинают сыпаться сотни ошибок про "multiply defined symbols". А C-компилятор работает...
.


Мое мнение такое:
Если речь идет о С, о сложных форматах и особенно об encoding/decoding, и тем более когда С++ против С в этом деле не тянет, файлы такой длины -дело вполне нормальное.
Но для Java это все равно что домашние тапочки надеть с вечерним платьем. Убивают всю прелесть последнего...

Hamster wrote:Так что дело не в национальности. Дело в образовании.


А интересно с чего у них там такое море программистов-то развелось? Если не образования хорошего нет, не рынка работ? Может просто выехать проще чем другим?

Сабина
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

Mic wrote:
IA72 wrote:
Mic wrote:...Пишите spec, рисуете UI, например by MS Visio, обсуждаете детали с заказчиком

Обсуждать какие детали? Несуществующего приложения?
Для этого заказчик должен обладать изрядной квалификацией и воображением. Умением читать спецификации и смотреть на UI уродца в Visio.

Мне сложно судить, я всегда работал с квалифицированными людьми и клинические случаи не встречались.

IA72 wrote:Проще и _быстрее_ написать demoware и дать на рассмотрение.

Это заблуждение. Со временем вы измените свою точку зрения.


Ха-ха-ха. Я давно так не смеялся. Скажите, а сколько лет вы работаете программистом? Это не наезд.
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

IA72 wrote:Скажите, а сколько лет вы работаете программистом? Это не наезд.

10 лет, это не обида ;)
Но честно-говоря, настоящий реальный и нужный опыт пошел только здесь - в Штатах (> 3 лет.) Работал в компании, которая брала контракты (Sierra, проекты Card Studio, Home Designer), в .com start-up'e (получил офигенный опыт по разработке и дизайну), сейчас работаю в небольшой софтверной компании.
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

Mic wrote:
IA72 wrote:Ааа. Мама, хочу в Советский Союз (уходит, плача и капая слезами на распечатку свежеполученного письма от заказчика "ну, э, сделайте, в общем, что бы было красиво, круто, и вообще")

В чем проблема? Пишите spec, рисуете UI, например by MS Visio, обсуждаете детали с заказчиком, повторяете итерацию до обоюдного согласия. Потом дизайн, имплементация.
Вы, ребята, о технологическом процессе представление имеете? Экономьте время - .doc файл переписать проще и дешевле чем .cpp
Вы ж поймите, в конечном итоге это и быстрее и дешевле получается.

Где Вы таких заказчиков находите? Типичный заказчик сам не знает что ему надо. Даже после того как ему все обяснишь, и зафиксируешь, последуют еще 82 дополнения, пожелания и изменения, причем по ходу дела, часто влияющие на дизайн.
Верить нельзя никому - даже себе. Мне - можно!
User avatar
adb
Уже с Приветом
Posts: 9275
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: messy programming по-индийски

Post by adb »

Sabina wrote:Мое мнение такое:
Если речь идет о С, о сложных форматах и особенно об encoding/decoding, и тем более когда С++ против С в этом деле не тянет, файлы такой длины -дело вполне нормальное.
Но для Java это все равно что домашние тапочки надеть с вечерним платьем. Убивают всю прелесть последнего...


Плюсы вполне подходят для таких задач. Если конечно писать нормально, и пользоваться профайлером. У нас был кодек H-263 на C++. Основное время тратилось, как и должно, на небольшие функции (преобразование Фурье, sad, квантизация), которые потом просто переписали на MMX ассемблере. К тому же и на чистом С можно писать вполне понятно и просто, без файлов такой длины.
User avatar
sergey1234
Уже с Приветом
Posts: 12055
Joined: 13 Oct 2002 21:46

Re: messy programming по-индийски

Post by sergey1234 »

Sabina wrote:
Hamster wrote:Так что дело не в национальности. Дело в образовании.


А интересно с чего у них там такое море программистов-то развелось? Если не образования хорошего нет, не рынка работ? Может просто выехать проще чем другим?

Сабина


Работал я с индусами. Прямо 5-летние институтские программы у ниx: "программист", причем учат именно новейшему что пользуется спросом на рынке, и практика - в реальныx компанияx делающиx аутсорсинг. На выxоде (с дипломом) вполне боевой профессионал и с парой лет экспириенса. Скороспелыx же индусскиx курсов (взять крестьянина, месяц его поучить писать, и продать как программиста) у ниx вообще нету.

Return to “Вопросы и новости IT”