Программирование стало более высокоуровневым?
От: sch  
Дата: 02.09.05 10:12
Оценка: 42 (7) +5 -9 :)
Доброго всем дня.

Просматривая программистские форумы и группы новостей, начиная от rsdn.ru
до comp.lang.c++.moderated не могу избавиться от ощущения, что большинство
программистов не знают базовых вещей касающихся алгоритмизации. Я предлагаю
даже сделать следующий опыт. Зайти на форум по C++ и спросить: как парсить
CSV-файлы. Вам тут же начнут предлагать варианты типа Boost.Tokenizer, еще
какие-то библиотеки, предложут воспользоваться генераторами парсеров и
прочим
и прочим. А между тем задача простейшая, на уровне первого курса ВУЗа.
Общее
впечетление -- мастерство программистов снизилось, причем вероятно этот
процесс глобален.

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

Ну в общем-то наверно все.
Прошу считать вышеизложенное скорее "криком души", а не приглащением на
дискуссию, но мнение форумчан несомненно будет очень инитересно.
Posted via RSDN NNTP Server 1.9
Re: Программирование стало более высокоуровневым?
От: WFrag США  
Дата: 02.09.05 10:18
Оценка: +1 :)
Здравствуйте, sch, Вы писали:

sch>Просматривая программистские форумы и группы новостей, начиная от rsdn.ru

sch>до comp.lang.c++.moderated не могу избавиться от ощущения, что большинство
sch>программистов не знают базовых вещей касающихся алгоритмизации. Я предлагаю
sch>даже сделать следующий опыт. Зайти на форум по C++ и спросить: как парсить
sch>CSV-файлы. Вам тут же начнут предлагать варианты типа Boost.Tokenizer, еще
sch>какие-то библиотеки, предложут воспользоваться генераторами парсеров и
sch>прочим
sch>и прочим. А между тем задача простейшая, на уровне первого курса ВУЗа.
sch>Общее
sch>впечетление -- мастерство программистов снизилось, причем вероятно этот
sch>процесс глобален.

И чем тебе решение с Boost.Tokenizer не нравится?

sch>С одной стороны все понятно. Программирование должно стать и несомненно

sch>становится более выскоуровневым. С одной стороны сие хорошо -- быстрее
sch>проходит разработка программного обеспечения, с другой стороны -- мы
sch>получаем
sch>громоздкие и несовершенные системы, примеры которых приводить я не буду
sch>дабы
sch>не начинать священные войны.

Значит ли, что более высокоуровневое программирование обязательно влечет за собой громоздкость и несовершенство? Очень спорно.
Re: Программирование стало более высокоуровневым?
От: Pyromancer  
Дата: 02.09.05 10:27
Оценка: -4 :)
sch>С одной стороны все понятно. Программирование должно стать и несомненно
sch>становится более выскоуровневым. С одной стороны сие хорошо -- быстрее
sch>проходит разработка программного обеспечения, с другой стороны -- мы
sch>получаем
sch>громоздкие и несовершенные системы, примеры которых приводить я не буду
sch>дабы
sch>не начинать священные войны.


ага, высокоуровневость такая что дышать уже нечем почти, уровней абстракции слишком много и всё для удобства кухарок,желающих писать программы.Развели ламерство, алгоритмы знать не хотят,технологии тоже, даже английский знать не хотят и вместо того чтобы хелп читать задают дурацкие вопросы.
Re: Программирование стало более высокоуровневым?
От: beroal Украина  
Дата: 02.09.05 10:31
Оценка: 36 (5) +2
Здравствуйте, sch, Вы писали:
sch>Общее
sch>впечетление -- мастерство программистов снизилось, причем вероятно этот
sch>процесс глобален.
К уровню программистов это не имеет отношения. Просто алгоритмы перестали быть главной темой в программировании. Сейчас главная тема — заказ/внедрение. А математические вопросы — они есть, но они отошли на задний план.
Re: Программирование стало более высокоуровневым?
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 02.09.05 10:57
Оценка:
Здравствуйте, sch, Вы писали:

sch>Доброго всем дня.


sch>Просматривая программистские форумы и группы новостей, начиная от rsdn.ru

sch>до comp.lang.c++.moderated не могу избавиться от ощущения, что большинство
sch>программистов не знают базовых вещей касающихся алгоритмизации.
sch>Общее
sch>впечетление -- мастерство программистов снизилось, причем вероятно этот
sch>процесс глобален.
А я согласен с автором топика. Серость прет как моча по канализации. Выпускники физико-математических вузов (не все, конечно, но, увы — много-о-о-о-о ...) очень часто откровенные слабаки. На Дельфях формочку слепить, навесить пару кнопок — это они могут. А чуть в сторону — амбец
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: Программирование стало более высокоуровневым?
От: Cyberax Марс  
Дата: 02.09.05 11:06
Оценка: 4 (2) +6
sch wrote:

> Вам тут же начнут предлагать варианты типа Boost.Tokenizer, еще

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

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

> А между тем задача простейшая, на уровне первого курса ВУЗа.


А написание своей операционной системы — на уровне пятого курса ВУЗа. И
что дальше?

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re: Программирование стало более высокоуровневым?
От: Gleb Alexeev  
Дата: 02.09.05 11:19
Оценка: 2 (2) +3
Здравствуйте, sch, Вы писали:

А если знаешь алгоритмы и структуры данных, абстракции не нужны? И вместо

std::list<int> ints;
ints.push_back(2);
ints.push_back(3);


Я должен каждый раз писать

struct int_node {
  int val;
  int_node* next;
};
...
node* first = new node;
first->val = 2;
first->next = new node;
first->next->val = 3;
first->next->next = NULL;

?
Не стоти путать теплое с мягким. Знание алгоритмов нужно для реализации библиотек, понимание механизмов абстракции — для проектирования библиотек (о том, нужно ли знать алгоритмы вообще, уже на форуме война недавно была). Дешевле использовать готовое до тех пор, пока не будет доказана неадекватность готового решения.
Советую почитать: http://www.artima.com/intv/abstreffi.html
Re[2]: Программирование стало более высокоуровневым?
От: zloiy www.nmzlabs.com
Дата: 02.09.05 11:27
Оценка:
Здравствуйте, fplab, Вы писали:

F>Здравствуйте, sch, Вы писали:


sch>>Доброго всем дня.


sch>>Просматривая программистские форумы и группы новостей, начиная от rsdn.ru

sch>>до comp.lang.c++.moderated не могу избавиться от ощущения, что большинство
sch>>программистов не знают базовых вещей касающихся алгоритмизации.
sch>>Общее
sch>>впечетление -- мастерство программистов снизилось, причем вероятно этот
sch>>процесс глобален.
F>А я согласен с автором топика. Серость прет как моча по канализации. Выпускники физико-математических вузов (не все, конечно, но, увы — много-о-о-о-о ...) очень часто откровенные слабаки. На Дельфях формочку слепить, навесить пару кнопок — это они могут. А чуть в сторону — амбец

Не, ну причём тут Дельфи, а? Не в инструменте дело, а в умении
Re[2]: Программирование стало более высокоуровневым?
От: Gaperton http://gaperton.livejournal.com
Дата: 02.09.05 11:29
Оценка: 1 (1) +7
Здравствуйте, Gleb Alexeev, Вы писали:

GA>Не стоти путать теплое с мягким. Знание алгоритмов нужно для реализации библиотек, понимание механизмов абстракции — для проектирования библиотек (о том, нужно ли знать алгоритмы вообще, уже на форуме война недавно была). Дешевле использовать готовое до тех пор, пока не будет доказана неадекватность готового решения.

+1, хочу только добавить, что понимание внутреннего устройства алгоритмов и абстрактных структур данных в также необходимо и для грамотного применения упомянутых библиотек. По-любому, короче, необходимо.
Re: Программирование стало более высокоуровневым?
От: ArhAngelVezel Россия  
Дата: 02.09.05 11:32
Оценка: 3 (2) +5
А зачем

За 9 лет обучения волшебству писать программы (от ASM до Prolog) я создавал не один велосипед и сейчас скажу такими словами: если нужно отсортировать небольшой массив я воспользуюсь любой готовой функцией Sort, а не буду писать метод пузырька или чего другого в 10^n раз если нужно распарсить csv я воспользуюсь ADO (ADO.Net). Я не хочу заморачиваться велосипедами — надоело! Я не буду писать свой код, отлаживать и оптимизировать его, когда есть кирпичики, на которых я могу создать систему, продать ее и принести кусок хлеба в свой дом. За то время что вы на пишите свой парсер, я уже наслаждаюсь готовым продуктом.
Лично для меня нет более интересной работы, чем "Спроектировать гибкую систему, которую можно реализовать точно к сроку" при этом я не пытаюсь впихнуть заказчику новый более совершенный алгоритм архивирования данных, я даю ему то что ему действительно нужно.
И за то время что вы пишите свои велосипеды я успею склепать 5-6 подобных систем, проанализировать их и написать что-нибудь новое, что еще не писал и что станет одним из кирпичиков будущих систем
Re[2]: Программирование стало более высокоуровневым?
От: FDSC Россия consp11.github.io блог
Дата: 02.09.05 11:39
Оценка:
Здравствуйте, Pyromancer, Вы писали:

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


Ты на assemblere без чужого кода писал программы? Попробуй, а потом говори.
Между прочим help ещё достать надо, а алгоритмы на каждом шагу не валяются.
Re[3]: Программирование стало более высокоуровневым?
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 02.09.05 11:42
Оценка: +1
Здравствуйте, zloiy, Вы писали:

Z>Здравствуйте, fplab, Вы писали:


F>>Здравствуйте, sch, Вы писали:


sch>>>Доброго всем дня.


sch>>>Просматривая программистские форумы и группы новостей, начиная от rsdn.ru

sch>>>до comp.lang.c++.moderated не могу избавиться от ощущения, что большинство
sch>>>программистов не знают базовых вещей касающихся алгоритмизации.
sch>>>Общее
sch>>>впечетление -- мастерство программистов снизилось, причем вероятно этот
sch>>>процесс глобален.
F>>А я согласен с автором топика. Серость прет как моча по канализации. Выпускники физико-математических вузов (не все, конечно, но, увы — много-о-о-о-о ...) очень часто откровенные слабаки. На Дельфях формочку слепить, навесить пару кнопок — это они могут. А чуть в сторону — амбец

Z>Не, ну причём тут Дельфи, а? Не в инструменте дело, а в умении

Признаюсь, я коряво сформулировал свою мысль. Просто хотел сказать, что мало учат думать: показывают как пользоваться распространенными средами программирования и зачастую на этом и все. Откель же умению взяться ? Как говорится, можно и зайца научить на барабане играть, но вот музыканта из него не получится.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re[3]: Программирование стало более высокоуровневым?
От: FDSC Россия consp11.github.io блог
Дата: 02.09.05 11:42
Оценка:
Здравствуйте, zloiy, Вы писали:


Z>Не, ну причём тут Дельфи, а? Не в инструменте дело, а в умении


Традиция, традиция. Других инструментов не знают... серость!
Re: Программирование стало более высокоуровневым?
От: FDSC Россия consp11.github.io блог
Дата: 02.09.05 11:50
Оценка: +1
Здравствуйте, sch, Вы писали:

sch>С одной стороны все понятно. Программирование должно стать и несомненно

sch>становится более выскоуровневым. С одной стороны сие хорошо -- быстрее
sch>проходит разработка программного обеспечения, с другой стороны -- мы
sch>получаем
sch>громоздкие и несовершенные системы

Громоздкие системы мы получаем, потому что средства разработки и компиляторы такие. Если писать систему на asm ещё не известно напишешь ли и не наступит ли 23 век, пока ты это сделаешь.

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

Просто нецелесообразно писать программу годами. А по поводу безграмотности — это всегда — чем больше специалистов и больше на них спрос, тем ниже качество подготовки, тем более притягательна профессия для людей, которые не хотят работать, а хотят зарабатывать.
Re[3]: Программирование стало более высокоуровневым?
От: Pyromancer  
Дата: 02.09.05 11:53
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Здравствуйте, Pyromancer, Вы писали:


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


FDS>Ты на assemblere без чужого кода писал программы? Попробуй, а потом говори.

FDS>Между прочим help ещё достать надо, а алгоритмы на каждом шагу не валяются.

писал, а вы?
ничего такого кошмарного в асме нет, долговато конечно,но не страшно.
Re[4]: Программирование стало более высокоуровневым?
От: FDSC Россия consp11.github.io блог
Дата: 02.09.05 12:00
Оценка:
Здравствуйте, Pyromancer, Вы писали:

P>Здравствуйте, FDSC, Вы писали:


FDS>>Здравствуйте, Pyromancer, Вы писали:


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


FDS>>Ты на assemblere без чужого кода писал программы? Попробуй, а потом говори.

FDS>>Между прочим help ещё достать надо, а алгоритмы на каждом шагу не валяются.

P>писал, а вы?

По работе положено.

P>ничего такого кошмарного в асме нет, долговато конечно,но не страшно.

Вот именно! Мягко сказано.
Re[2]: Программирование стало более высокоуровневым?
От: sch  
Дата: 02.09.05 12:03
Оценка:
> Громоздкие системы мы получаем, потому что средства разработки и
> компиляторы такие. Если писать систему на asm ещё не известно напишешь
> ли и не наступит ли 23 век, пока ты это сделаешь.
>
> Можно сделать программу без ошибок, маленькую, быструю, но потребуется в
> 100... раз больше времени, чем на написание программы, которая
> действительно нужна.
>
> Просто нецелесообразно писать программу годами. А по поводу
> безграмотности — это всегда — чем больше специалистов и больше на них
> спрос, тем ниже качество подготовки, тем более притягательна профессия
> для людей, которые не хотят работать, а хотят зарабатывать.

Я уверен в том, что можно любую задачу решить маленькой, быстрой
программой, причем время ее разработки будет значительно меньше. Дело не
только, и не сколько в уровне мастерства, сколько в умении четко понять
задачу, мыслить оригинально, вне каких-либо шаблонов и стилистических
рамок. Как мне кажется, именно этому мешает современная высокоуровневость,
и как следствие -- шаблонность программирования. Понятно, что тут уже на
сцену выходит workmanship конкретного программиста, и, очевидно что
система разработки программного обеспечения, которая основывается на
способностях отдельной личности или целого коллектива неприемлема для
массовой, промышленной разработки программного обеспечения.
Posted via RSDN NNTP Server 1.9
Re: Программирование стало более высокоуровневым?
От: GlebZ Россия  
Дата: 02.09.05 12:06
Оценка: +4
Здравствуйте, sch, Вы писали:

sch>как парсить CSV-файлы.

IMHO
Некорректный вопрос, некорректный ответ. Я знаю как парсить, если конечно кто-нибудь скажет зачем и во что. Я понимаю парсить XML, или ASN в синтаксическое дерево, но CSV?
И вообще, мне кажется в институте на первом курсе кто-то из лекторов ошибся. Это парсить не надо. Это называется процесс чтения данных. Это не LL(*) граматика. Зря людей научили LL граматикам. Они только мучаются. Простое fread надо изучать, или scanf. И не стараться называть таким умным словом как парсинг. Набрались слов, а люди мучаются, размышляют.

С уважением, Gleb.
Re[2]: Программирование стало более высокоуровневым?
От: FDSC Россия consp11.github.io блог
Дата: 02.09.05 12:09
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>И вообще, мне кажется в институте на первом курсе кто-то из лекторов ошибся. Это парсить не надо.


Вот это правильно!
Re[3]: Программирование стало более высокоуровневым?
От: beroal Украина  
Дата: 02.09.05 12:14
Оценка: +1
Здравствуйте, sch, Вы писали:
>> Громоздкие системы мы получаем, потому что средства разработки и
>> компиляторы такие. Если писать систему на asm ещё не известно напишешь
>> ли и не наступит ли 23 век, пока ты это сделаешь.
>>
>> Можно сделать программу без ошибок, маленькую, быструю, но потребуется в
>> 100... раз больше времени, чем на написание программы, которая
>> действительно нужна.
sch>Я уверен в том, что можно любую задачу решить маленькой, быстрой
sch>программой, причем время ее разработки будет значительно меньше. Дело не
sch>только, и не сколько в уровне мастерства, сколько в умении четко понять
sch>задачу, мыслить оригинально, вне каких-либо шаблонов и стилистических
sch>рамок. Как мне кажется, именно этому мешает современная высокоуровневость,
Вы ещё больше запутали вопрос. Программистам мешает то, что они учат опыт других программистов? Так если его не учить, я не думаю, что получится высокоразвитая личность.
Если у вас есть альтернатива существующим решениям, ничто не мешает её высказать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.