Путь изучения языка программирования

Модератор: Модераторы разделов

Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Путь изучения языка программирования

Сообщение Denjs »

Код: Выделить всё

Или интересно GUI? Если понимаете что такое классы, то можно без чтения какой-нить специальной книги, просто обращаясь к справочнику по тому же Qt4, к примеру, начать писать небольшие проекты. Хотя желательно все же ознакомиться с книгой

Важно отметить, что QT - это далеко не только GUI, а полноценный кроссплатформенный фреймворк в котором дофига всего невизуального. Можно и консольные приложения и сервера на QT писать.

Главное удобство QT помимо кроссплатформенности - сигнал-слотовый механизм (превращающий практически каждый класс в компоненту), система метаданных и очень хорошо продуманная и удобная система классов. Там же скриптовый движок который позволяет щупать непосредственно С++\QT классы и т.п. - там очень много вкусностей. Задачами GUI сейчас в QT занимается "от силы 40-50%" классов.
см например мои проекты - они вовсе не "визуальные", а большая часть программ в этих наборах - консольные.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Путь изучения языка программирования

Сообщение diesel »

Denjs писал(а):
03.02.2010 10:24
превращающий практически каждый класс в компоненту

весьма странное заявление, компонентой должен быть не класс, а объект.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Путь изучения языка программирования

Сообщение Stauffenberg »

Denjs

Я писал тот пост для человека, который еще не знает, что такое классы (:
Думаешь стоит в этом топике углубляться в тему сигнально-слотового механизма или систему метаданных? :rolleyes:
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Путь изучения языка программирования

Сообщение Denjs »

diesel писал(а):
03.02.2010 12:53

Denjs писал(а):
03.02.2010 10:24
превращающий практически каждый класс в компоненту

весьма странное заявление, компонентой должен быть не класс, а объект.

Компонента - этоп рограммный модуль с объявленным "стандартизированным" интерфейсом.
Класс - вернее даже программный код который описывает класс - более подходит под определение компоненты чем "программная абстракция" типа "экземпляр" или "объект".

Суть заявления что QT превращает класс в компоннету состоит в том что если вы используете сигнал-слоты для связывания объектов, а не вызовы функций по ссылкам - то класс слабо связан с другими классами программы и вы можете легко вытащить его в другую программу без особых проблем - т.е. каждый QT-класс становится автономным кирпичиком котоый может работать 1) независимо 2) может быть легко заменен на какой-либо с таким-же интерфейсом. даже динамически в рантайме - вы просто создаете объект нового класса и пепеподключаете на него все сигналы от старого объекта .

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

Я писал тот пост для человека, который еще не знает, что такое классы (:
Думаешь стоит в этом топике углубляться в тему сигнально-слотового механизма или систему метаданных?

да) когда он поймет что такое классы и проблемы того как связывать их друг с другом - воспоминание об этой инфе ему поможет. кроме того - пост же не удаляется и его можно перечитать после освоения обозначенного базового уровны? ) имхо.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Путь изучения языка программирования

Сообщение Portnov »

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


fixed.
;)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Путь изучения языка программирования

Сообщение diesel »

Denjs писал(а):
05.02.2010 02:24
Компонента - этоп рограммный модуль с объявленным "стандартизированным" интерфейсом.
Класс - вернее даже программный код который описывает класс - более подходит под определение компоненты чем "программная абстракция" типа "экземпляр" или "объект".

если рассматривать систему(в нашем случае программу) как набор связанных компонент, то отдельная компонента - это, с точки зрения ООП - объект, а класс - исключительно описание свойств этого объекта. Работающих однотипных объектов в системе может быть много, при этом все они будут построены по одному описанию.

Denjs писал(а):
05.02.2010 02:24
Суть заявления что QT превращает класс в компоннету состоит в том что если вы используете сигнал-слоты для связывания объектов, а не вызовы функций по ссылкам - то класс слабо связан с другими классами программы и вы можете легко вытащить его в другую программу без особых проблем - т.е. каждый QT-класс становится автономным кирпичиком котоый может работать 1) независимо 2) может быть легко заменен на какой-либо с таким-же интерфейсом. даже динамически в рантайме - вы просто создаете объект нового класса и пепеподключаете на него все сигналы от старого объекта .

Да относительная "самостоятельность" отдельного класса, которая позволяет это описание использовать в другой программе - это не фишка QT, хотя, безусловно, для некоторых задач сигналы/слоты сильно упрощают такую реализацию, это вобщем-то идея ООП-подхода как такового. Ну то есть если класс теряет "автономность", и пытается звать какие-то внешние штуки - что-то уже явно не так в консерватории.
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Путь изучения языка программирования

Сообщение Ink-85 »

Stauffenberg писал(а):
03.02.2010 02:22
Ink-85 писал(а):
31.01.2010 13:07
Все сошлись во мнении что,кроме книги по СИ++ больше нечего не надо!
А практику где брать, понимание то что ты читаешь приходит только с практикой, а в книги представлены совершенно бесполезные примеры которые я не представляю как применить в написании даже простого просмоторщика файлов !!!

Практика:

* Брюс Моли "Теория и практика программирования"
* Марк Дж. Рочкинд "Программирование для UNIX"


Эти две книги дадут хорошее представление о системном программировании. Читать их следует сразу после "основ". Основы - это что-то типа учебника

* Стивен Прата "Язык программирования С++. Лекции и упражнения"

Или интересно GUI? Если понимаете что такое классы, то можно без чтения какой-нить специальной книги, просто обращаясь к справочнику по тому же Qt4, к примеру, начать писать небольшие проекты. Хотя желательно все же ознакомиться с книгой

* Макс Шлее "Qt4. Профессиональное программирование на С++"

Полезно бывает черпать идеи с различных форумов программистов. Там же можно найти код, статьи и очень много чего интересного по программированию. Когда начнете писать первые проекты, поймете лучше что именно Вам нужно.


Ink-85 писал(а):
31.01.2010 13:07
Где черпать практические занятия чтобы начать мыслить по другому ( вы же понимаете что архитектор думает не так как программист :))


Что бы начать думать "как они", надо начать с "ними" общаться. Где именно? Мест уйма. Вот например:
(Как у нас с английским?)
KDE Community forums
Russian KDE forum

Спасибо. С английским все ок.
Спасибо сказали:
jobfox
Сообщения: 142

Re: Путь изучения языка программирования

Сообщение jobfox »

Опыта у меня нет, по професии архитектор, знааю только Липс (автокад) и МЭЛ (Майа).
Со скриптами особых проблем не было, вроде все понятно, но когда возникают идеи создания не большой (а иногда и большой) программы не заная счего начать!!! Чувство что не хватает базовых знаний!


Это оченьхорошо что вы знаете Лисп - алгоритмы сможете писать хорошие, в лиспе "жесткую" рекурсию можно использовать.
Для начала напишите небольшой каталог товаров на консольном borlan c.
Потом поработайте на borland c++, чтобы понять работу ООП.

А дальше сами уже будете знать что Вам нужно ;-)

Удачи!
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Путь изучения языка программирования

Сообщение RasenHerz »

jobfox писал(а):
06.02.2010 04:32
Потом поработайте на borland c++, чтобы понять работу ООП.

No way
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Путь изучения языка программирования

Сообщение drBatty »

jobfox писал(а):
06.02.2010 04:32
в лиспе "жесткую" рекурсию можно использовать.

что это?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
jobfox
Сообщения: 142

Re: Путь изучения языка программирования

Сообщение jobfox »

drBatty писал(а):
06.02.2010 08:04
jobfox писал(а):
06.02.2010 04:32
в лиспе "жесткую" рекурсию можно использовать.

что это?

под словом жесткая, имелось ввиду что язык и расчитан на то, что там можно заумные рекурсии писать (хотя их и везде можно писать), но на лиспе это сверхмозгоштурмовые задачи - мозги встают как надо. Конечно, только если ТС в лиспе учил рекурсии. Имхо.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Путь изучения языка программирования

Сообщение drBatty »

jobfox писал(а):
06.02.2010 10:16
под словом жесткая, имелось ввиду что язык и расчитан на то, что там можно заумные рекурсии писать (хотя их и везде можно писать), но на лиспе это сверхмозгоштурмовые задачи - мозги встают как надо. Конечно, только если ТС в лиспе учил рекурсии. Имхо.

ИМХО это в си все мозги поломаешь на рекурсии. а особенно в си++. а в лиспе - это совершенно нормальное явление, там по другому никак.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
korvin
Сообщения: 39
ОС: >_<

Re: Путь изучения языка программирования

Сообщение korvin »

RasenHerz писал(а):
06.02.2010 08:02
jobfox писал(а):
06.02.2010 04:32
Потом поработайте на borland c++, чтобы понять работу ООП.

No way

+1, "ООП" лучше в CLOS посмотреть, ну или мб SmallTalk

drBatty писал(а):
06.02.2010 11:21
jobfox писал(а):
06.02.2010 10:16
под словом жесткая, имелось ввиду что язык и расчитан на то, что там можно заумные рекурсии писать (хотя их и везде можно писать), но на лиспе это сверхмозгоштурмовые задачи - мозги встают как надо. Конечно, только если ТС в лиспе учил рекурсии. Имхо.

а в лиспе - это совершенно нормальное явление, там по другому никак.

что? Вы о каком таком лиспе говорите?

Код: Выделить всё

CL-USER 1 > (let ((a (vector 1 2 3 4 5 6)))
              (dotimes (i (length a))
                (format t "~s " (elt a i))))
1 2 3 4 5 6
NIL

CL-USER 2 > (pprint
             (macroexpand
              '(dotimes (i (length a))
                 (format t "~s " (elt a i)))))

(BLOCK NIL
  (LET ((#:|dotimes-count-686| (THE INTEGER (LENGTH A))) (I 0))
    (DECLARE)
    (WHEN (< 0 #:|dotimes-count-686|)
      (LET ((#:|dotimes-fixnum-var-688| 0)
            (#:|dotimes-fixnum-limit-687|
             (THE FIXNUM (1- (IF (FIXNUMP #:|dotimes-count-686|) #:|dotimes-count-686| MOST-POSITIVE-FIXNUM)))))
        (TAGBODY
         #:|dotimes-start-tag689| (FORMAT T "~s " (ELT A I))
                 (IF (SYSTEM::<$FIXNUM-NOCHECK #:|dotimes-fixnum-var-688| #:|dotimes-fixnum-limit-687|)
                     (SETQ I
                           (SETQ #:|dotimes-fixnum-var-688|
                                 (THE FIXNUM (1+ (THE FIXNUM #:|dotimes-fixnum-var-688|)))))
                   (IF (FIXNUMP #:|dotimes-count-686|)
                       (PROGN (SETQ I (THE FIXNUM (1+ (THE FIXNUM I)))) (GO #:|dotimes-end-tag690|))
                     (PROGN
                       (SETQ I (THE INTEGER (1+ (THE INTEGER I))))
                       (WHEN (>= (THE INTEGER I) (THE INTEGER #:|dotimes-count-686|))
                         (GO #:|dotimes-end-tag690|)))))
                 (GO #:|dotimes-start-tag689|)
         #:|dotimes-end-tag690|)))
    NIL))

CL-USER 3 >

и никакой рекурсии
(© '(define LISP (такой язык-программирования (состоящий-из смайликов (чуть более) (чем целиком)))) lurkmore)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Путь изучения языка программирования

Сообщение drBatty »

korvin писал(а):
06.02.2010 14:18
и никакой рекурсии

你可以写在中国,有什么不同,如果我还是不明白?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
korvin
Сообщения: 39
ОС: >_<

Re: Путь изучения языка программирования

Сообщение korvin »

drBatty писал(а):
06.02.2010 15:53
korvin писал(а):
06.02.2010 14:18
и никакой рекурсии

你可以写在中国,有什么不同,如果我还是不明白?

да, совсем никакой
(© '(define LISP (такой язык-программирования (состоящий-из смайликов (чуть более) (чем целиком)))) lurkmore)
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Путь изучения языка программирования

Сообщение Ink-85 »

Посмотрел сегодня книгу: Дональд Кнут Искусство программирования, том 1. Основные алгоритмы.
Это жесть там сплошная математика (алгоритмы, матрицы, Последовательность Фибоначчи и т.д.)

Народ Вы все все это прочитали и Вам это пригодилось в написании программ?

Видел еще книжку Программирование для чайников, там вроде все доходчиво написано!?

И еще, для программирования 3D OpenGL , на сколько глуболими должны быть знания геометрии, тригонометрии и т.д.?
Спасибо сказали:
Аватара пользователя
ffldove
Сообщения: 480
Статус: Keep It Simple, Stupid
ОС: RFRemix 14

Re: Путь изучения языка программирования

Сообщение ffldove »

Ink-85 писал(а):
08.02.2010 14:49
Посмотрел сегодня книгу: Дональд Кнут Искусство программирования, том 1. Основные алгоритмы.
Это жесть там сплошная математика (алгоритмы, матрицы, Последовательность Фибоначчи и т.д.)

Народ Вы все все это прочитали и Вам это пригодилось в написании программ?

Видел еще книжку Программирование для чайников, там вроде все доходчиво написано!?

И еще, для программирования 3D OpenGL , на сколько глуболими должны быть знания геометрии, тригонометрии и т.д.?

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

Как сказал один из моих преподавателей в универе, врятли он первоисточник но:
Инженер - это не тот кто знает ответ на вопрос, а тот кто может найти ответ на вопрос.
I learned something today
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Путь изучения языка программирования

Сообщение drBatty »

Ink-85 писал(а):
08.02.2010 14:49
Народ Вы все все это прочитали и Вам это пригодилось в написании программ?

Ink-85 писал(а):
08.02.2010 14:49
Дональд Кнут Искусство программирования

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

ffldove писал(а):
08.02.2010 15:02
Маловероятно что какой нибудь мудреный алгоритм понадобится вам если вы не будите писать математический софт, но что то в меньшем масштабе обязательно пригодиться.

у Кнута на 80% примитивные алгоритмы рассматриваются. Вот только выводы у него не самые простые... А на практике, как раз такое всегда и используется (возможно, что кодер об этом и не знает, но уж это проблема кодера).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Путь изучения языка программирования

Сообщение neol »

Ink-85 писал(а):
08.02.2010 14:49
Посмотрел сегодня книгу: Дональд Кнут Искусство программирования, том 1. Основные алгоритмы.
Это жесть там сплошная математика (алгоритмы, матрицы, Последовательность Фибоначчи и т.д.)

А что вы ожидали там увидеть?

Ink-85 писал(а):
08.02.2010 14:49
Народ Вы все все это прочитали и Вам это пригодилось в написании программ?

Лично я прочитал только частично. В последний раз когда я использовал знания, полученные из этой книги (возможно из второго тома), время выполнения скрипта (написанного другим человеком) сократилось с 30 минут до 0.3 секунды.
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Путь изучения языка программирования

Сообщение Ink-85 »

Ну вот уже почти определились со списком что надо для начала :) :

1. Книги Кнута
2.Основы С++ - есть книга, по ней сейчас учусь
3. Основы Qt -есть книга, читаю параллельно
4. OpenGL ??? Что посоветуете для начала?? Есть какие-то умные книги по 3d программированию
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Путь изучения языка программирования

Сообщение Yaros »

neol писал(а):
08.02.2010 15:23
Лично я прочитал только частично. В последний раз когда я использовал знания, полученные из этой книги (возможно из второго тома), время выполнения скрипта (написанного другим человеком) сократилось с 30 минут до 0.3 секунды.
"Ух ты, дай посмотреть."
В смысле, а можно подробнее? Заинтриговали)))
Ink-85 писал(а):
08.02.2010 15:55
1. Книги Кнута
Кипил пока первый том, дядька крут чуть более чем полностью, но математика все же слишком сильная пока для меня. Радует, что в начале он основные мат. моменты обрисовывает, это хоть немного помогает.
Ink-85 писал(а):
08.02.2010 15:55
4. OpenGL ??? Что посоветуете для начала?? Есть какие-то умные книги по 3d программированию
Эдвард Энджел "Интерактивная компьютерная графика. Вводный курс на базе OpenGL", например.
Тут по соседству тема про софтверный рендеринг, гляньте, может, еще что найдете. Это я оттуда взял =)
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Путь изучения языка программирования

Сообщение drBatty »

Yaros писал(а):
08.02.2010 17:36
Кипил пока первый том, дядька крут чуть более чем полностью, но математика все же слишком сильная пока для меня. Радует, что в начале он основные мат. моменты обрисовывает, это хоть немного помогает.

математику можно пропускать. автор сам говорил, что не настаивает :)
ЕМНИП в первом томе математики действительно слишком много.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
AestheteAnimus
Сообщения: 135
ОС: FreeBSD 8.0-RELEASE amd64

Re: Путь изучения языка программирования

Сообщение AestheteAnimus »

Ink-85 писал(а):
08.02.2010 15:55
4. OpenGL ??? Что посоветуете для начала?? Есть какие-то умные книги по 3d программированию

Для начала - конечно же Red Book (Где-то на просторах интернета есть неплохой русский перевод):
http://www.opengl.org/documentation/red_book/
Немного спустя может быть полезна эта книга:
http://www.books.ru/shop/books/30151

Ink-85 писал(а):
08.02.2010 14:49
И еще, для программирования 3D OpenGL , на сколько глуболими должны быть знания геометрии, тригонометрии и т.д.?

Чем глубже - тем лучше: без ясного представления, как происходят преобразования между базисами, как они задаются - будет очень туго. Не уверен, что это то, что сейчас Вам нужно в контексте работы с 3D графикой, но мне в свое время оказалась интересна вот эта книга:
http://urss.ru/cgi-bin/db.pl?lang=Ru&b...ok&id=18497
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Путь изучения языка программирования

Сообщение Yaros »

drBatty писал(а):
08.02.2010 18:51
Yaros писал(а):
08.02.2010 17:36
Кипил пока первый том, дядька крут чуть более чем полностью, но математика все же слишком сильная пока для меня. Радует, что в начале он основные мат. моменты обрисовывает, это хоть немного помогает.

математику можно пропускать. автор сам говорил, что не настаивает :)
ЕМНИП в первом томе математики действительно слишком много.

Ну так без математики большая часть книги станет китайской грамотой :) а знания - филькиной :)
А с математикой траблы больше из-за раздолбайства.
drBatty писал(а):
08.02.2010 18:51
ЕМНИП в первом томе математики действительно слишком много.

Первый раздел первого тома целиком и полностью посвящен математике =)
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
ffldove
Сообщения: 480
Статус: Keep It Simple, Stupid
ОС: RFRemix 14

Re: Путь изучения языка программирования

Сообщение ffldove »

Ink-85 писал(а):
08.02.2010 15:55
Ну вот уже почти определились со списком что надо для начала :) :

1. Книги Кнута
2.Основы С++ - есть книга, по ней сейчас учусь
3. Основы Qt -есть книга, читаю параллельно
4. OpenGL ??? Что посоветуете для начала?? Есть какие-то умные книги по 3d программированию

А если не секрет по c++ и по Qt что именно читаете?
Подозреваю что по Qt либо "Макс Шлее - QT Профессиональное программирование на C++" либо "Жасмин Бланшет - QT 4 программирование CUI на C++"?
I learned something today
Спасибо сказали:
Аватара пользователя
Skaarj
Сообщения: 311
ОС: Slackware

Re: Путь изучения языка программирования

Сообщение Skaarj »

Denjs писал(а):
31.01.2010 01:44
Что бы перестроиться с процедурно-ориентированного программирования (программа = набор функций и процедур) к ООП (программа = набор объектов взаимодействующих друг с сдругом) у меня ушло порядка года. я имею в виду не овладение синтаксисом и т.п а "перестройка мышления".

Вот у меня тоже не ладилось с ООП. Но всё в раз исправила вот эта статья - http://unrealscript.narod.ru/tutorials/scr...ng/oop/oop.html
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: Путь изучения языка программирования

Сообщение MakkyWelly »

Может имелась в виду оптимиация хвостовой рекурсии? Только, емнип, в gcc она тоже есть.

Кстати, в дополнение к Кнуту можно добавить ещё книгу Ахо по алгоритмам, но там используется паскаль (не очень приятно, знаете ли), поэтому лучше наверно Дж. Седжвик "фундаментальные алгоритмы на Си++", в общем что-то из этого обязательно нужно включить в Ваш список.
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Путь изучения языка программирования

Сообщение Portnov »

Ой, ну если Ахо, тогда и Кормена тоже туда же :) И Вирта :)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Путь изучения языка программирования

Сообщение neol »

Yaros писал(а):
08.02.2010 17:36
"Ух ты, дай посмотреть."
В смысле, а можно подробнее? Заинтриговали)))

Задача сводилась к сравнению двух списков. В исходном скрипте два вложенных цикла и сравнение каждой записи одного с каждой записью другого (причем открытие и чтение файла со вторым списком тоже были в теле цикла). В итоговом оба списка считывались в память, строилось дерево из элементов одного списка, а значения из второго искались в этом дереве.
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: Путь изучения языка программирования

Сообщение MakkyWelly »

Ну по крайней мере там попроще чем у Кнута :) да и на структурных языках а не на MIX, Кнут это скорее к системному программированию больше относится, а вот для си (++) книга Седжвика вполне хороший вариант.
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали: