Что есть программирование? Для всех по ращному. Для меня, программирование, это, во-первых, алгоритмизация. Программирование не может существовать без алгоритмизации. По большому счету нет профессий типа «Программист C++», «Программист Delphi» итп. Есть профессия «Алгоритмизатор». Ведь сам код это ведб просто синтаксис какого-то языка программирования. Но чтобы писать этот код программист должен четко представлять себе общую картину, он должен видеть алгоритм выполнения задачи. И именно красота алгоритма ценит программиста, а не язык, который он выбрал. Сложилось неверное мнение, что программисты, знающие С++ лучше программистов, знающих Delphi к примеру.[anonsend] Это неверно, потому что настоящему программисту, алгоритмизатору, без разницы на чем писать свои алгоритмы. Синтаксис любого языка можно выучить за неделю и за год овладеть им в совершенстве. Но как бы ты не учил язык, сколько бы ты книг не читал, если ты не умеешь писать алгоритмы — ты не программист. Ты можешь гордо писать резюме что ты знаешь «C++», можешь работать в модной фирме и делать какую-то работу, но ты не программист. Ты так… кодер. Чтобы стать алгоритмизатором ты должен видеть задачу, должен уметь щупать ее со всех сторон. Должен уметь находить разные пути решения и выбирать более-менее оптимальный. Именно это всегда ценилось в программистах — нестандартный подход к задачам. Даже не столько не стандартный, а сколько не такой, как у всех. В школе нас всех учат одному и тому же. Никакого разнообразия. В инсте то же самое. Алгоритмизатор должен мыслить трехмерно, а не прямолинейно. Чему нас учат в школе? Учат что 2*2=4 и только так и никак иначе. К сожалению это дейсвительно так. Вся математика в школе, да и в инсте, основана практически на одном решении. Позднее, правда, в инсте на математическом анализе все же дают альтернативные способы решения школьных задачек, но давали с таким выражением лица, когово у меня небыло на лекциях по дискретке после бессоных ночей. Вся школьная физика основана на единственном решении задачи и это все НЕВЕРНО, это натуральное зомбирование людей! Это относится не только к алгоритмизации, но и к алгоритмизации в частности. Я всегда смеюсь, когда мне говорят что компьютерные игры типа CS, DOOM и прочих стрелялок — тупят людей. Нет, наоброт! Человек в этих играх (оссобенно сетевых версиях) получает трехмерное мышление! Когда человек, например, играя в CS за террористов знает что на карте в 2-х местах можно поставить бомбу и добраться до них можно 3-мя способами, он анализирует, какой самый быстрый, какой самый безопасный и какой самый оптимальный при текущем наборе противников. Точно так же должен подходить и программист к поставленной задаче. К сожалению сейчас все больше так называемых программистов, когда получают задачу, мыслят примерно так: «Ага, в инсте это проходили, надо делать так!» и на этом все заканчивается. Школа убивает в каждом из нас гения. Единственный урок, который я действительно любил, это была химия. Я поражался количествам способов, которыми можно добыть водород (а потом взорвать его за школой =)), с учительницей мы выбирали самый оптимальный, выбирали самые дешевые реактивы и самый быстрый для школьного класса способ. Почему Энштейн был гением? Он сам рассказывал почему. Потому что в школе дают не верную физику, человек школьных лет не может ее воспринимать правильно. Энштейн говорил что в школе он ее не понимал, долго работал почтальоном и физика начала его интерисовать уже в более зрелые годы, тогда он самостоятельно стал изучать ее. Ладно хрен с ним, вернемся к программированию. Программирование, это искусство. Такое же как и музыка, живопись. Порой пишешь что-нить, оглядываешься и думаешь: «Как же красиво получилось… О, а тут как я лихо экономлю ресурсы… А вот тут какая элементарная, но железная защита…» и так далее. Но что нужно чтобы стать алгоритмизатором?