2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 13:11 
Аватара пользователя

(Оффтоп)

myhand в сообщении #683754 писал(а):
причем используемый язык настолько прост - что он не застит суть дела всякой синтаксической лабудой.

Это Scheme-то прост?

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

(Оффтоп)

Munin в сообщении #683786 писал(а):
Это Scheme-то прост?
Scheme исключительно прост с синтаксической точки зрения. Из синтаксиса только скобочки.


Ktina, можно ли все-таки поподробнее, какие трудности Вас в прошлый раз сломили?

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 13:33 
Для программирования и решения задач по математике:
http://progopedia.ru/language/aribas/
"ARIBAS — интерактивный язык вычислений, поддерживающий работу с большими целыми числами и с числами с плавающей запятой произвольной точности. Синтаксис языка ARIBAS напоминает синтаксис языков Pascal и Modula."
http://www.mathematik.uni-muenchen.de/~ ... ribas.html

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

(Оффтоп)

Xaositect в сообщении #683799 писал(а):
Scheme исключительно прост с синтаксической точки зрения. Из синтаксиса только скобочки.

LOL
Не в скобочках дело. Продолжения, замыкания, ленивые вычисления, "гигиенические макросы" - по крутизне и сложности язык вполне сравнится с C++.

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 13:38 
Аватара пользователя
Xaositect в сообщении #683799 писал(а):
Ktina, можно ли все-таки поподробнее, какие трудности Вас в прошлый раз сломили?

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

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

(Оффтоп)

А выплачивали-то её как? Отрицательными шекелями?


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

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 13:54 
Аватара пользователя
Munin в сообщении #683811 писал(а):

(Оффтоп)

А выплачивали-то её как? Отрицательными шекелями?

Отнюдь. Он заплатил за униформу налом $S_{un}-12\cdot M_h$, где $S_{un}$ стоимость униформы, а $M_h$ размер минимальной почасовой оплаты труда на тот момент.

-- 14.02.2013, 13:55 --

Munin в сообщении #683811 писал(а):
Вы пока рассказали одну байку, но не целую историю. Из этого пока нельзя сделать вывод, что у вас не срослось с программированием.

Вы правы. Мои трудности носят чисто психологический характер. Я не принимаю этот мир таким, каков он есть.

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 14:02 
Аватара пользователя
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?
Если нет или почти нет, то олимпиадные задачи - это не основная вещь, которой стоит заниматься, там как раз предполагается, что все данные верные и надо с ними что-то сделать.

-- Чт фев 14, 2013 15:07:12 --

(Оффтоп)

Munin в сообщении #683802 писал(а):
Не в скобочках дело. Продолжения, замыкания, ленивые вычисления, "гигиенические макросы" - по крутизне и сложности язык вполне сравнится с C++.
ИМХО, любой используемый на практике язык рано или поздно сранивается с C++ по сложности. Это не значит, что нельзя использовать язык без "продвинутых" вещей.

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 14:28 
Ktina
Я Вам советовал бы пройти олимпиадную школу программирования. Выучить какой-нибудь язык в наше время не трудно, мне в своё время приходилось его изучать по чужим программам, учебник было просто не купить. Изучите для начала Си (мои ученики 6-го класса довольно быстро это делают). Потом зарегистрируйтесь в каких-нибудь системах по олимпиадному программированию. Например, http://acm.sgu.ru/, http://acm.timus.ru/, http://codeforces.ru/, http://community.topcoder.com/tc. Для начала советую первые два, последние лучше посещать не раньше, чем станете программировать лучше ваших преподавателей.

Решите там для начала хотя бы 500 задач, поучаствуйте в паре десятков олимпиад, тогда сможете делать выводы: получается у Вас на самом деле или нет. Я эту школу прошёл в своё время, не жалею. Самое главное - вовремя уйти. Когда Ваш уровень станет высоким (сами поймёте), надо уходить из этого спорта как можно быстрее. Иначе он превратится в бесполезную трату времени. Лучше отдать это время тому, чтобы применять полученные навыки для решения полезных, а не спортивно-игровых задач. То есть заниматься этим можно с пользой лет до 18-20.

Ваши же рассуждения о том, что "не дано" или "не получается" следует рассматривать как чисто эмоциональные всплески на фоне общего непонимания того, что тут к чему. Если у Вас талант к математике, то программирование должно даться тоже легко. Только не путайте программирование и кодерство. Кодеры - это которые пишут код. А программисты ещё думают, что пишут и зачем. Чтобы стать программистом, нужно всё-таки поучиться решать задачи типа олимпиадных, что я посоветовал. Там нужна и математика и знание особенностей архитектуры современных персоналок.

Советы разных людей изучать тот или иной язык программирования не принимайте во внимание (и мой совет тоже). С опытом вы поймете, какой из тысяч языков позволяет решать нужные Вам задачи, а какой позволяет только баловаться, а может вообще придется разработать свой язык и компилятор к нему. Участники форума советуют из своего опыта, а у Вас будет свой. Я, вот, занимаюсь быстрыми высокопроизводительными вычислениями и кроме как на Ассемблере пишу иногда на Си/Си++, но в свое время приходилось изучать Pascal, Java и даже Basic (чтоб его), чтобы сдать какие-то глупые работы в университете.

Изучать же программирование с того, чтобы писать какие-то полезные прикладные программы, рисовать формочки, окошки, писать макросы, верстать страницы в интернете и писать для них сценарии на JS, изучать всякие заумные технологии, я крайне не рекомендую. Станете кодером. Если повезет, очень эрудированным кодером, как в анекдоте:
Цитата:
Я знаю Ruby, Pyton, PHP, Perl, Java и много других слов

Но это тоже ИМХО, основанное на большом опыте личных наблюдений за своим окружением. Хотя, надо сказать, такие кодеры поначалу зарабатывают раз в 10-100 больше тех, кто пошёл заниматься наукой.

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 14:30 
Аватара пользователя
Xaositect в сообщении #683819 писал(а):
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?

Именно со вторым.
Однажды я даже изрекла реплику, вызвавшую продолжительный интенсивный смех окружающих: "я придумала алгоритм, но не могу реализовать его на $C$". Смех был обусловлен тем, что наиболее трудным моментом для смеющихся было именно придумывание алгоритма.

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

(Оффтоп)

Munin в сообщении #683802 писал(а):
Продолжения, замыкания, ленивые вычисления, "гигиенические макросы" - по крутизне и сложности язык вполне сравнится с C++.
Но это уже не синтаксическая сложность ("скобочки" + вызов процедуры, lambda, quote, set!/define, if). Это куда более принципиальные моменты, которые касаются буквально любого языка программирования (хотя и не везде поддерживаются "нативно", так сказать). Примерно того же порядка вещи, что и концепции ООП (которые авторы курса рассказывают и показывают, несмотря на отсутствие в Scheme каких-то специальных синтаксических форм). Из перечисленного вами не затрагиваются, пожалуй, лишь макросы - авторы для соответствующих целей просто переписывают свой интерпретатор Scheme.

Курс не о Scheme, повторяю - он о программировании. Учить спецификацию языка и стандартные библиотеки - это уже про другое.

Zealint в сообщении #683825 писал(а):
Изучите для начала Си (мои ученики 6-го класса довольно быстро это делают).
Могу представить что из этого выходит...
Zealint в сообщении #683825 писал(а):
Там нужна и математика и знание особенностей архитектуры современных персоналок.
Вот почему я советую SICP вместо подобной чепухи (вычисления на регистровых машинах, стек, управление памятью - все такие вещи появляются уже под конец). Для программирования - компьютер *не нужен*.
Zealint в сообщении #683825 писал(а):
Потом зарегистрируйтесь в каких-нибудь системах по олимпиадному программированию.
Как вариант: http://projecteuler.net/

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 15:00 
Аватара пользователя
Ktina в сообщении #683827 писал(а):
Xaositect в сообщении #683819 писал(а):
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?

Именно со вторым.
Однажды я даже изрекла реплику, вызвавшую продолжительный интенсивный смех окружающих: "я придумала алгоритм, но не могу реализовать его на $C$". Смех был обусловлен тем, что наиболее трудным моментом для смеющихся было именно придумывание алгоритма.


Когда-то так и было - народ делился на алгоритмистов и программистов, которые бегали с перфокартами на отладку :P

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 15:21 
myhand в сообщении #683843 писал(а):
Могу представить что из этого выходит...

Если я правильно Вас понял, то не можете.

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 16:04 
Аватара пользователя
Zealint в сообщении #683825 писал(а):
Я, вот, занимаюсь быстрыми высокопроизводительными вычислениями и кроме как на Ассемблере пишу иногда на Си/Си++, но в свое время приходилось изучать Pascal, Java и даже Basic (чтоб его), чтобы сдать какие-то глупые работы в университете.

Какой язык программирования порекомендуете для численного решения дифференциальных уравнений?

 
 
 
 Re: Программирование для неудачников
Сообщение14.02.2013, 16:18 
PostScript, Latex и еще то-то под linux. добрые же вы советы даете. Так можно сразу отбить желание.

Ktina
Судя по тому. что вы пишите, попробуйте для начала почитать Кернигана и Ри(т)чи. Как только вы почувствуете, что вы понимаете все, что там написано - базовые навыки получены. Язык Си является универсальным в практическом плане, сможете потом на нем решать большое количество ваших задач, которые вам нужны.

-- Чт фев 14, 2013 16:19:17 --

Теперь про обучение: есть такой сайт - проект "Эйлер" (http://projecteuler.net/). Можно попробовать порешать оттуда задачи. Их смысл не в том, что они сложные (хотя сложных то там как раз и не очень много), а в том, что именно на таких задачах в частности удобно привыкать к языку.

 
 
 [ Сообщений: 193 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group