В вашей самой первой программе, какая конструкция зацепила вас за программирование? - PullRequest
5 голосов
/ 10 января 2009

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

Ответы [ 41 ]

17 голосов
/ 10 января 2009

Для многих из нас, кто был знаком с компьютерами в конце 70-х или начале 80-х, первая программа, которую мы видели, выглядела так:

10 PRINT "Commodore sucks!  "
20 GOTO 10

(«Commodore» можно заменить на «Apple», «Atari» или «TRS-80»).

GOTO потрясающий.

11 голосов
/ 10 января 2009

Ответ № 2:)

Реальная языковая конструкция, которая сначала по-настоящему очаровала меня, была рекурсией. Проблема

Напишите функцию с именем SumDigits, которая суммировал цифры числа. Пример: SumDigits (1234) -> 10

Сначала я написал очень длинное итеративное решение. Но через некоторое время я придумал этот ответ.

string SumDigits(int value) {
  if ( value > 10 ) {
    return SumDigits(value/10) + (value%10);
  }
  return value;
}

Краткость ответа поразила меня, и я сразу же нашел новую любовь в рекурсии и кратком программировании.

Потребовалось всего пару недель, чтобы понять зло рекурсии:)

8 голосов
/ 10 января 2009

Заставить компьютер подчиняться мне. Высокий.

Мне также нравится (люблю ненавидеть) то, что компьютер будет подчиняться, даже если я ошибаюсь.


А если серьезно, ребята.

Я подсел, когда:

  • Я видел, что вы можете делать богатые и динамичные вещи с помощью кода.
  • Что машина в целом соответствует.
  • Это программирование похоже на математику в том смысле, что для всех «это зависит», у нас все еще есть более чем справедливая доля вопросов с реальными, доказуемыми ответами.
  • Чтобы я мог автоматизировать простые задачи с помощью логики и циклов.
7 голосов
/ 10 января 2009

Начато в QBasic , так что, я думаю, что-то было в порядке:

INPUT "What's your name?", a$
PRINT "Hi, "; a$; "!"

Возможность показывать что-то на экране с PRINT была достаточной, чтобы вдохновить меня на программирование. Интерактивность с использованием INPUT была обледенением на торте!

4 голосов
/ 10 января 2009

указка.

Когда я начал программировать в Turbo Pascal, я действительно не мог понять, какого черта они пишут большие программы. Память была ограничена, и что бы я ни пытался сделать, я часто достигал предела стека.

Когда я наконец познакомился с указателями, меня, наконец, зацепило, потому что я наконец-то смог начать делать что-то большое! Не то чтобы я сделал что-то большое, но ...:)

4 голосов
/ 10 января 2009

Когда я впервые начал изучать программирование с QBASIC, вся идея управления потоками с использованием операторов if и циклов была великолепной. Я думаю, что всего через несколько дней после того, как я узнал об утверждении if, я создал свою первую игру «Выбери свое приключение». Оглядываясь назад, я знаю, что это должно быть ужасно неэффективно и масштабно с точки зрения строк кода, но тот факт, что я мог развить историю, не используя ничего, кроме как, если бы заявления были замечательными.

3 голосов
/ 10 января 2009

Для меня это не был специфический синтаксис - я обнаружил, что могу выйти из игры и изменить игры ZX Spectrum, - я думаю, обнаружение исходного кода - вот что меня зацепило.

Затем, когда я фактически начал программировать и копировал код из книг, я мог настраивать то, что было в книге, и работать с программой, но так, как я хотел.

3 голосов
/ 17 ноября 2009

Лямбда-выражения

Я программировал почти всю свою жизнь, но даже сейчас находил волнение в новых вещах, таких как выражения Ламдбы.

 MyList.Any(p => p.IsCurrent)

Хм .. люблю это.

3 голосов
/ 10 января 2009

Ясный случай, петля. Специально зацикливание на Gwbasic. Просто ради интереса я хотел напечатать все цифры от 0 до 100 на экране. Итак, я начал:

10 print 1
20 print 2
30 print 3
40 print 4

В какой-то момент я подумал WTF или что-то подобное. Должен быть лучший способ. Поэтому я спросил кого-то (возможно, учителя или какого-то ученика), который затем познакомил меня с магией переменных и петлей . Должно быть, это был момент, когда меня зацепили.

10 SET i = 0
20 IF i > 100 THEN GOTO 60
30 PRINT i
40 SET I = I + 1
50 GOTO 20
60 REM END LOOP

То есть 6 строк вместо 100 !!! Это было намного лучше. Извините, если я получил синтаксис не совсем правильно. :-) Мне очень нравится этот момент.

3 голосов
/ 10 января 2009

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

// a commment!
int /* whoa, an inline comment! */ a;

;)

...