2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 13  След.
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 21:35 
Заслуженный участник
Аватара пользователя


30/01/06
72407
У creative очень красивое имхо.
Вопрос: годится ли в качестве среды блокнот + JavaScript в ближайшем браузере?

-- 14.02.2013 22:36:18 --

Ktina в сообщении #684003 писал(а):
Честно говоря, не ожидала, что моя тема вызовет столь бурный резонанс.

Просто это тема, в которой все считают, что разбираются :-)

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:01 
Аватара пользователя


25/02/10
687
Ktina в сообщении #684003 писал(а):
Честно говоря, не ожидала, что моя тема вызовет столь бурный резонанс.

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

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:11 


05/09/12
2587
Ktina в сообщении #684003 писал(а):
Честно говоря, не ожидала, что моя тема вызовет столь бурный резонанс.
Имхо, это жеманство чистой воды. При создании подобной темы её судьба очевидна :-)

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:13 
Аватара пользователя


01/12/11

8634
JMH в сообщении #684018 писал(а):
А вот этого, как раз и следовало ожидать. В программировании, как и в сексе или вождении автомобиля - каждый считает себя лучшим. Сами понимаете, с какими основаниями.

(Оффтоп)

Я машину вообще не умею водить. Да и программировать (пока) тоже.

Анекдот вспомнила.
Диалог между газетчиком и телеведущим:
-- Вам нравится работать на телевидении? Говорят, в наше время на ТВ либо евреи, либо голубые.
-- Нет, что Вы. Я не еврей.

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:22 
Заблокирован
Аватара пользователя


03/03/10

4558

(Оффтоп)

Munin в сообщении #683999 писал(а):
Так называемая "синтаксическая сложность" - самое лёгкое, что бывает из сложностей языков программирования.
Ну так и чего вы к scheme прикопались тогда? Здесь ее просто нет - вот и все отличие. Правила языка укладываются в десяток правил, львиную долю которых слушатель узнает на первой лекции. Вы с C++ монстром такое сможете?

В общем, курс все-таки о программировании, а не о схеме.

Esp_ в сообщении #683989 писал(а):
Автор топика программировать умеет, но не знает языка.
"Знаю алгоритм, не могу закодить".
Это ваша гипотеза. Тема топика была сформулирована иначе: "научиться программированию", а не "какой мне выбрать язык".

Munin в сообщении #683999 писал(а):
Си имеет некоторую неудобозапоминаемость для новичков, о которой потом быстро забывается.
Си имеет в наличии отсутствие GC - и уже этим одним совершенно оным противопоказан. Зачем такие сложности на ровном месте и сразу?

Ktina в сообщении #684003 писал(а):
С другой, даже не знаю, с какого совета начать...
Начните с уточнения своих пожеланий. Если вам действительно было бы интересно научиться программированию - по меньшей мере, игнорируйте советы по выбору языка.

Munin в сообщении #684004 писал(а):
Вопрос: годится ли в качестве среды блокнот + JavaScript в ближайшем браузере?
Запросто. Берем интерпретатор схемы на javascript - и дальше спокойно читаем/слушаем SICP, решаем задачки.

Был бы курс хороший, а язык - дело десятое. Знаете лучший вводный курс - посоветуйте.

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:29 


22/01/11
309
myhand в сообщении #684030 писал(а):
Это ваша гипотеза. Тема топика была сформулирована иначе: "научиться программированию", а не "какой мне выбрать язык".


Это не гипотеза: так писала автор темы, которую вы полностью не читали.
А даже если это была бы и гипотеза, то вы стало быть обладете исключительным правом на истину в первой инстанции? :lol:

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:48 
Аватара пользователя


05/01/13

3968
Извините, что влезаю с глупым вопросом. Кто-нибудь может сказать, что лучше изучать в первую очередь — C или C++, то есть, в какой последовательности с ними лучше знакомиться, и почему?

Видел мнения, что если первым изучать C, то мозг непоправимо травмируется, и человек уже не может затем в полной мере использовать преимущества C++, ни в какую не желает принимать философию C++ и норовит вернуться к "чистому" Си всюду, где это возможно. В результате код, написанный такими людьми, представляет собой дикую смесь из двух разных подходов к программированию. :) Это правда или очередной околокомпьютерный миф?

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:53 


22/01/11
309
Denis Russkih в сообщении #684041 писал(а):
Видел мнения, что если первым изучать C, то мозг непоправимо травмируется, и человек уже не может затем в полной мере использовать преимущества C++


Имхо, это бред из серии "Если сначала ездить на Калине, то водитель травмируется и больше не может водить нормальные машины"

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 22:58 
Аватара пользователя


01/12/11

8634
Esp_ в сообщении #684043 писал(а):
...Если сначала ездить на Калине...

(Оффтоп)

В США говорят "Once you go Asian you never go Caucasian".

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 23:08 
Аватара пользователя


25/02/10
687
Esp_ в сообщении #684043 писал(а):
Denis Russkih в сообщении #684041 писал(а):
Видел мнения, что если первым изучать C, то мозг непоправимо травмируется, и человек уже не может затем в полной мере использовать преимущества C++


Имхо, это бред из серии "Если сначала ездить на Калине, то водитель травмируется и больше не может водить нормальные машины"

Всё зависит от конкретного мозга - есть мозги (ударение ставьте по собственному усмотрению, в зависимости от вкуса), которые необратимо травмируются при любой попытке осмысленной деятельности.

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 23:20 
Аватара пользователя


01/04/10
910
Munin в сообщении #684004 писал(а):
У creative очень красивое имхо.
Вопрос: годится ли в качестве среды блокнот + JavaScript в ближайшем браузере?


Да, пойдёт. Я так тоже делал, когда изучал (когда я начинал и забрасывал много раз я пробовал почти все, что было под рукой).

У JavaScript для меня был один минус - он прост с точки зрения написания Hello World. Но для новичка он сложен тем, что во первых:

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

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение15.02.2013, 09:35 


26/01/10
959
creative в сообщении #683994 писал(а):
5. На абстрактных примерах и олимпиадных задачах далеко не уедешь.

Зря Вы так. Вспомните свою тему более чем двухлетней давности. Вы там жаловались, что не можете просто так взять и написать программу и мы там соревновались, кто быстрее парсер калькулятора напишет. У меня тогда 16 минут получилось и я сказал, что это медленно, в былые годы на такие задачи уходило около 10. Так вот, эти навыки набиваются именно на олимпиадах. Любую (я подчёркиваю) любую задачу можно научиться писать относительно быстро, правильно, при этом даже не отлаживая и чтобы она сразу запускалась без единой ошибки компиляции. Это навык остается на долгие годы. Конечно, навык не супер полезный в обычной жизни, но с этими знаниями, без которых данный навык в принципе не развивается, человек даст большую фору любому другому программисту при прочих равных условиях.

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

Помню, смотрел вступительные задания разных фирм, где требуются программисты алгоритмического толка (не просто кодеры). Смешные задания, решаются за 5-15 минут. Зато они вгоняют в ступор любого опытного программиста, который олимпиадами вообще не занимался. Такой будет решать часа 2 в лучшем случае. Идти на работу в такие фирмы, конечно, я не собирался.

Далее, часто наблюдаю за стараниями учёных в той области, которой я занимаюсь. Картина печальная: учёный не может написать качественную программу в принципе, поэтому полученные им научные результаты (которые являются результатом анализа данных, выведенных программой) легко повторяются простенькой программой, собранной на коленках. Да и то, такая программа считает в разы быстрее и для более сложных входных данных. Связываешься с этим учёным, говоришь ему, что моя программа дескать лучше. Он восхищается "как так?". Да всё просто: олимпиадная школа. Главное, вовремя из неё уйти, чтобы успеть применить эти навыки в науке. Потом к программистской старости живость ума уменьшится и навыки сильно притупятся.

А бывает наоборот: смотришь на код учёного и думаешь "олимпиадная школа" или "хакерское детство" с чувством радости от того, что не всё потеряно изучаешь применённые в коде трюки и хитроумность каких-то конструкций. Иногда даже с пользой для себя. Порой видишь шедевры, смотришь на них как на хорошую картину на выставке ИЗО. Приятно. Приятно когда видишь чужой код и тебе не хочется его улучшить (в плане эффективности и объема, а не личного стиля).

Есть такие люди, хакеры. Не те, которые взламывают всё подряд и чрезвычайно искусны в этом, а высокие мастера программирования. Эффективные программы их исполнения заслуживают изучения. Их знания и навыки уникальны. Как стать таким? Одну ссылку уже дали, но за красивой романтикой, описанной там, скрывается изнурительная работа над совершенствованием своих навыков. И мне кажется в наше время проще всего пройти этот путь через олимпиады по программированию, через соревнования с другими. Когда учишься сам по себе, не с чем сравнить. Нужна планка, задаваемая другими людьми, через которую нужно прыгать. Когда ставишь планку сам, есть риск остаться никем. Хотя, бывают исключения, но будет ошибкой считать исключением именно себя.

Ktina в сообщении #684003 писал(а):
Честно говоря, не ожидала, что моя тема вызовет столь бурный резонанс.

Это потому, что все проходили разные школы и каждому кажется, что его школа была не бесполезной. И у каждого на самом деле есть тысяча субъективных доказательство этому из личной жизни. Я свои постарался расписать тоже с подтекстом "очень субъективно". А то ведь кодеры и чистые теоретики (которые не умеют программировать, но любят изучать сложность алгоритмов) начнут обижаться.

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение15.02.2013, 12:24 
Аватара пользователя


01/04/10
910
Zealint

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

Но есть ещё один компонент, это продумывание архитектуры программы. Взять задачу из прикладной области и продумать как можно её реализовать. Разработать слои будущего ПО, продумать наиболее надёжную структуру программы. Сделать архитектуру такую, которая будет более менее защищена от различных логических ошибок типа "состояние гонки". Правильно продумать интерфейс. Так чтобы был простой, но с другой стороны функциональный. Олимпиадные задачи таких навыков не дают.

Такой уникальный опыт можно получить сначал ковыряясь в коде таких проектов как Apache, Nginx и написание модулей под них.

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

Zealint в сообщении #684128 писал(а):
Вы, наверное, имели в виду, что одних олимпиад мало. Да, мало. Нужно ещё тщательно изучать само железо через программирование на низком уровне. Нужно научиться чувствовать заранее, что будет, если написать такой-то код. Такое ощущение приходит с опытом. Но всё это познаётся (поначалу) через решение олимпиадных задач.


Эта часть Вашего ответа очень хорошо подчёркивает, то что я хотел сказать.

P.S. Google ищет именно программистов сильной олимпиадной школы. но они так же хорошо заметили (очень люблю этот ролик от Google), что надо иметь опыт практической разработки, в том числе и в open source.

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение15.02.2013, 13:08 


26/01/10
959
creative
Вы правы, опыт разработки цельного ПО, а не отдельных частных программ нужно развивать отдельно, участвуя, например, в совместных проектах типа Open Source, желательно при участии нормальных программистов. Но научиться работать там гораздо проще, когда уже умеешь программировать и решать задачи, когда знаешь и чувствуешь машину, на которой всё происходит. В противном случае проект будет чуть менее чем полностью состоять из (прошу прощения) "говнокода". А потом пользователи будут удивляться, почему каждая следующая версия продукта всё медленнее предыдущей. В общем, стать программистом в команде лучше, когда уже умеешь многое делать, чем когда ничего не умеешь и "говнокод" оказывается частью будущего крупного проекта, который потом будут поддерживать другие "говнокодеры" и будут плеваться от к-ва криво написанных кусков.

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

 Профиль  
                  
 
 Re: Программирование для неудачников
Сообщение15.02.2013, 14:58 
Аватара пользователя


01/04/10
910
Zealint

С Вами в этом не посморишь. Тут наши мнения сходятся.

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

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

Ktina

Вы хотите научится именно хорошо программировать, потому что Вам нравится эта идея?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 193 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 13  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group