LINUX.ORG.RU
ФорумTalks

Чему вы уделяете больше внимания в программировании?


0

1

Последнее время вижу разделение знакомых мне программистов на 2 вида

люди, великолепно владеющие общими алгоритмами, решающие задачи каких-то реальных предметных областей и мало интересующиеся, к примеру, что будет при переполнении int при разных ключах компиляции. знатоки технических вопросов, как правило, платформы. Знают что во что компилируется, какие оптимизации производит компилятор, досконально как работают все фазы компилятора... Так вот интересен вопрос стал в первую очередь потому, что, по-моему, чаще всего вторые слабы в задачах первых, они плохо строят абстракции предм. области и вообще слабо абстрагируются от деталей платформы(типов данных, понятий процедур/ф-ций/выражений и т.д. конкретного ЯП). Во всяком случае на моём личном опыте в конкретной конторе.

Т.к. с голосованием на ЛОРе сложно, прошу поставить циферку в комментарии-

Чему вы уделяете больше внимания?

  • 1/ Техническим тонкостям определённой реализации/платформы ЯП
  • 2/ Реальным прикладным задачам
  • 3/ Одинаково важно и первое и второе
  • 4/ Постигаю с опытом тонкости платформы, решая реальные задачи

Странное у тебя деление знакомых. У меня знакомые программисты делятся на 2 категории: те что думают, и те что нет. Те что думают, обращяют внимание на разные аспекты в разумных количествах и не ставят перед собой надуманных вопросов «что же важнее».

dizza ★★★★★
()

Чему вы уделяете больше внимания в программировании?

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

Eddy_Em ☆☆☆☆☆
()

На самом деле все просто набрасывают код на вентилятор :}

Deleted
()

А ещё при работе с новыми ЯП люди делятся на два вида: те, кто сначала прочитает книжку по данному ЯП; те, кто пытаается решать практические задачи с помощью ЯП, попутно неистово гугля. И кто более прав?

Sadler ★★★
()

мне вроде 1-й вариант ближе

Harald ★★★★★
()

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

3/4.

staseg ★★★★★
()

2/4 — стараюсь использовать что-то бибилиотечно-стандарто-кроссплатформенное.

Bad_ptr ★★★★★
()

Первое без второго безсмысленно. Об этом даже Кнут писал, что мол в чем профит «быстрых» сложных алгоритмов, если апатано оптимизированный(часто автоматически, компилятором или несложными манипуляциями) «медленный» но простой алгортм работает быстрее.

Jetty ★★★★★
()
Ответ на: комментарий от pseudo-cat

вторые конечно. Книжку имея уже какой-то опыт по данному ЯП стоит читать, по-моему

Просто я отношусь ко вторым. А один мой хороший знакомый считает, что я просто обязан знать названия каких-то шаблонных моделей, которые он вычитал в книге по методологии ООП. Но при этом к моему коду у него претензий нет. Я сейчас даже нагуглить не смог подобные модели. Дак вот думаю, забить или прислушаться.

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

фундаментальные вещи я не рассматриваю сейчас. Просто на конкретном примере - есть новый ЯП, тебе надо на нём начать писать...

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от Eddy_Em

ты когда нибудь что-то сложное(пусть > 5000 кода) поддерживал? Мне просто интересно, ну как, сложно когда велосипед на велосипеде и нужно что-то изменить?

pseudo-cat ★★★
() автор топика

4
Но я еще маленький =)

trex6 ★★★★★
()
Ответ на: комментарий от pseudo-cat

А мне наоборот проще сначала книжку почитать.
В свое время так C++ изучил. Взял книжку в поезд и за сутки прочитал полностью. Потом начал использовать. Так же и с технологиями/библиотеками.

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

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

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от Sadler

А ещё при работе с новыми ЯП люди делятся на два вида: те, кто сначала прочитает книжку по данному ЯП; те, кто пытаается решать практические задачи с помощью ЯП, попутно неистово гугля.

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

И кто более прав?

Если у тебя все в порядке и недопонимания с коллегами нет, зачем волноваться?

staseg ★★★★★
()

1 (ибо никто из сокамерников не поможет)
2 (иначе юзвери детородные органы оторвут)
3 (третье тоже важно)
4 (хотя платформа офтопик)

vada ★★★★★
()
Ответ на: комментарий от pseudo-cat
wc -l *c
   506 contours.c
   168 filelist.c
   396 fits.c
   530 fitsheaders.c
    90 fitsview.c
   378 gauss.c
  1204 gtk.c
   638 imtools.c
   816 NOCUDA.c
   433 open_dialog.c
   731 opengl.c
   536 spots.c
   423 terrain.c
   565 tracking.c
  7414 итого

Только это - вершина айсберга. Еще очень много надо доделать, а лень...

сложно когда велосипед на велосипеде и нужно что-то изменить?

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dizza

Странное у тебя деление знакомых. У меня знакомые программисты делятся на 2 категории: те что думают, и те что нет. Те что думают, обращяют внимание на разные аспекты в разумных количествах и не ставят перед собой надуманных вопросов «что же важнее».

Плюсую.

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

А ещё при работе с новыми ЯП люди делятся на два вида: те, кто сначала прочитает книжку по данному ЯП; те, кто пытаается решать практические задачи с помощью ЯП, попутно неистово гугля. И кто более прав?

Вторые.

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

А ещё при работе с новыми ЯП люди делятся на два вида: те, кто сначала прочитает книжку по данному ЯП; те, кто пытаается решать практические задачи с помощью ЯП, попутно неистово гугля. И кто более прав?


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

Dragon59 ★★
()
Ответ на: комментарий от pseudo-cat

Си - довольно простой язык. Вот если бы это был какой-нибудь ужас, вроде Perl'а, то я, скорее всего, бросил бы это велосипедостроение, не успев начать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dizza

Странное у тебя деление знакомых. У меня знакомые программисты делятся на 2 категории: те что думают, и те что нет. Те что думают, обращяют внимание на разные аспекты в разумных количествах и не ставят перед собой надуманных вопросов «что же важнее».

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

Nagwal ★★★★
()

5/ Пытаюсь порешать задачи с использованием тонкостей платформы и языка, приносящих наибольшую материальную прибыль и стабильность работы.

shimon ★★★★★
()

Удовольствию от программирования.

buddhist ★★★★★
()

Ты изобрёл деление программистов на архитекторов и кодеров.

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

забыл сказать «из предложенного»

в общем-то как-то так -

  • я дрочер технического окружения! я знаю всё о всех нижних уровнях моей дев-среды, я знаю описание граматики, как выглядит трансляция(синт., семант.) моего любимого ЯП... Да что там, я и сам смогу написать компилятор и мне это намного инетереснее, чем использовать мой любимый инструмент для придуманных задачек уровня имитации предметных областей окружающего мира!
  • я дрочер абстракций! я получаю намного больше удовольствия от формализации ТЗ, от созидания идей, связанных с внешним миром. Мой ЯП это просто инструмент, я умею им пользоваться и единственный интерес, который я могу проявить к его более глубокому изучению, связан лишь только с возможностью использовать его на максимум!
pseudo-cat ★★★
() автор топика
Ответ на: комментарий от morpheus

я думал над этим, но, по-моему, 4==2 с уклоном на «вторым делом углубляю свои знания о дев-среде, а первым её юзаю»

pseudo-cat ★★★
() автор топика

2/ Реальным прикладным задачам

Главное, чтоб решало бизнес-задачи. А уж как оно написано, подо что и на чем, глубоко фиолетово. Хоть на коболе под os/2, по#уй.

Igron ★★★★★
()

Глупости. Если так рассуждать, дальше кодера не пробьешься. Люди, знающие, как бить по шляпке гвоздя, но не умеющие держать ручку молотка не нужны.

segfault ★★★★★
()

Кхм.
1. Грамотной проработке всех возможных сценариев алгоритма (читай - искоренения багов в зародыше)
2. Грамотной работе с памятью
3. Читабельности кода
4. Наглядности для юзера - хотябы грамотных и хорошо оформленных сообщений.
5. Чтобы процесс программирования приносил удовольствие :)

Раскидай сам по своим пунктам.

Kroz ★★★★★
()

зарплате

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

почему не знающие? одно дело знать стандартную библиотеку языка, уметь её использовать и другое знать как всё внутри устроено...

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

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

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

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

к примеру append и cons для списков? Ну ладно, с тем как работают ф-ции высших порядков, можно познакомиться, но это всё равно очень высоко по отношению к проходам компилятора, к примеру... Или чтобы писать свои ф-ции на основании низкоуровневых библиотечных и это нужно знать?

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

Можно вообще ничего не знать, и писать код. И тысячи быдло-веб-кодеров это регулярно подтверждают. Вопрос только в качестве конечного продукта.

всё равно очень высоко по отношению к проходам компилятора, к примеру...

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

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