2014 dxdy logo

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

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




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


30/01/06
72407

(Оффтоп)

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

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

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


06/10/08
6422

(Оффтоп)

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


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

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


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

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


30/01/06
72407

(Оффтоп)

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

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

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


01/12/11

8634
Xaositect в сообщении #683799 писал(а):
Ktina, можно ли все-таки поподробнее, какие трудности Вас в прошлый раз сломили?

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

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


30/01/06
72407

(Оффтоп)

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


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

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


01/12/11

8634
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 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?
Если нет или почти нет, то олимпиадные задачи - это не основная вещь, которой стоит заниматься, там как раз предполагается, что все данные верные и надо с ними что-то сделать.

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

(Оффтоп)

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

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


26/01/10
959
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 
Аватара пользователя


01/12/11

8634
Xaositect в сообщении #683819 писал(а):
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?

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

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


03/03/10

4558

(Оффтоп)

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 
Заслуженный участник
Аватара пользователя


06/04/10
3152
Ktina в сообщении #683827 писал(а):
Xaositect в сообщении #683819 писал(а):
Были ли проблемы с придумыванием алгоритма или выражением этого алгоритма на языке программирования?

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


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

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


26/01/10
959
myhand в сообщении #683843 писал(а):
Могу представить что из этого выходит...

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

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


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

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

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


22/01/11
309
PostScript, Latex и еще то-то под linux. добрые же вы советы даете. Так можно сразу отбить желание.

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

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

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

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

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



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

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


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

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