Основы. Что это?
От: kilonet2  
Дата: 29.10.05 16:41
Оценка: 1 (1)
Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.
Интересно узнать ваше мнение с аргументами.

06.11.05 04:10: Перенесено модератором из 'Философия программирования' по просьбам участников — Alex Fedotov
Re: Основы. Что это?
От: _Winnie Россия C++.freerun
Дата: 29.10.05 18:40
Оценка: 15 (3) +3
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

K>Интересно узнать ваше мнение с аргументами.

Не претендуя на полноту... первое, что взбрело в голову.

Циклы. If. Подпрограммы/функции. И тд. и тп. Общие конструкции всех (императивных?) языков программирования.
Что такое строка. Что такое символ. Чем они отличаются от числа. Что числа бывают целые и дробные. Что точность их ограничена. А если неограничена — значит, там внутри мегапрослойка кода.

Что такое компилятор/интерпретатор.

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

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

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

Что такое операционная система.

Вообщем, многие вещи, о которых пользователь не знает.
Правильно работающая программа — просто частный случай Undefined Behavior
Re: Основы. Что это?
От: Skipy Rich Россия  
Дата: 29.10.05 18:41
Оценка:
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

K>Интересно узнать ваше мнение с аргументами.

Для меня "основы" — это логика разработчиков конкретной системы, если в нее въедешь, то потом все становится легко и просто.

...добивая ногами психиатра: "Это кто нервный?! Это я нервный?!!"
fb2k: 3 Doors Down - Going Down In Flames
Re: Основы. Что это?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.10.05 14:51
Оценка: +2 :)
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...".


Посоветуй ему быстро освоить, ну, скажем, Пролог.
... << RSDN@Home 1.2.0 alpha rev. 615 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[2]: Основы. Что это?
От: Cyberax Марс  
Дата: 30.10.05 16:25
Оценка:
AndrewVK wrote:

> K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я

> знаю основы, поэтому легко могу правильно написать любую программу,
> быстро освоить новую технологию и т. д...".
> Посоветуй ему быстро освоить, ну, скажем, Пролог.

Осваивал его в условиях надвигающего деда Лайна за неделю

Потом благополучно постарался забыть.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[2]: Основы. Что это?
От: Hunta Украина http://dr-leafsey.livejournal.com
Дата: 31.10.05 10:05
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Циклы. If. Подпрограммы/функции. И тд. и тп. Общие конструкции всех (императивных?) языков программирования.


+ рекурсия. Стек, список, хеш.

_W>Что такое строка. Что такое символ. Чем они отличаются от числа. Что числа бывают целые и дробные. Что точность их ограничена. А если неограничена — значит, там внутри мегапрослойка кода.


+ булева алгебра, множества там...
Поступай так, чтобы максима своей воли в любое время могла стать принципом всеобщего законодательства.
Re: Основы. Что это?
От: Joker6413  
Дата: 31.10.05 10:25
Оценка:
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

K>Интересно узнать ваше мнение с аргументами.

Имхо — обьекты ядра win, C++, Java/.Net, java/vb script, Tcp/IP, Http, Xml, html.

Т.е. архитектура, прогр. на низком уровне, прогр. на высоком уровне, скриптинг, и основные протоколы и форматы взаимодействия.
Re: Основы. Что это?
От: xbit Россия  
Дата: 31.10.05 10:27
Оценка:
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

K>Интересно узнать ваше мнение с аргументами.

Примерно так наверное:
-Базовые вещи:
--Ветвления, циклы, ...
--Рекурсия
--...
-Основы модульного программирования (Paskal, ...)
-Основы функционального программирования (Лисп, ...)
-Основы логического программирования (Пролог, ...)
-Основы ООП (C++, C#, Java, ...)
-Фуднаментальные алгоритмы (Дональд Кнут I-III тома)

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Нас не догонят!
Re: Основы. Что это?
От: DenisNLevchenko  
Дата: 31.10.05 10:32
Оценка: 2 (1)
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

K>Интересно узнать ваше мнение с аргументами.

подожди пару деньков пока существует данных топик, после проанализируй все ответы и ты поймешь, что знать надо всё, и чем больше ты знаешь, тем лучше для тебя в первую очередь
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Основы. Что это?
От: xbit Россия  
Дата: 31.10.05 11:00
Оценка:
<skipped>
X>-Основы модульного программирования (Pascal, ...)
<skipped>
Очепятался

Хотел еще добавить:
-Структуры данных (списки, деревья, графы, ...)
Хотя это все входит в Кнута, но хотелось все таки отдельно выделить.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Нас не догонят!
Re: Основы. Что это?
От: ZevS  
Дата: 31.10.05 12:30
Оценка: 6 (1) +3 :)
Здравствуйте, kilonet2, Вы писали:

...

Логическое, абстрактное мышление. Его же гибкость. Дружба с математикой, физикой, русским языком и литературой. Объясню два последних пункта: я считаю, что умение четко и ясно выражать свои мысли для хорошего программиста просто необходимо. И это умение нужно постоянно развивать. А чем же еще его развивать как не?
Re[2]: Основы. Что это?
От: ZevS  
Дата: 31.10.05 12:35
Оценка:
PS: English of course is out of question!
Re[2]: Основы. Что это?
От: Mamut Швеция http://dmitriid.com
Дата: 31.10.05 12:44
Оценка:
X>-Основы функционального программирования (Лисп, ...)

Подумалось: а может вообще только Лисп?


dmitriid.comGitHubLinkedIn
Re[3]: Основы. Что это?
От: xbit Россия  
Дата: 31.10.05 12:51
Оценка:
Здравствуйте, Mamut, Вы писали:

X>>-Основы функционального программирования (Лисп, ...)


M>Подумалось: а может вообще только Лисп?


Было бы просто супер !
Люблю этот язык...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Нас не догонят!
Re[2]: Основы. Что это?
От: Joker6413  
Дата: 31.10.05 14:27
Оценка: 1 (1) -2
Здравствуйте, ZevS, Вы писали:


В контексте

"Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...".


вот это:

ZS>Логическое, абстрактное мышление. Его же гибкость. Дружба с математикой, физикой, русским языком и литературой.


звучит по крайней мере смешно.
Re[2]: Основы. Что это?
От: Глеб Алексеев  
Дата: 31.10.05 14:48
Оценка:
Здравствуйте, AndrewVK, Вы писали:

K>>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...".


AVK>Посоветуй ему быстро освоить, ну, скажем, Пролог.

Лучше Хаскелл .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Основы. Что это?
От: Глеб Алексеев  
Дата: 31.10.05 14:48
Оценка:
Здравствуйте, kilonet2, Вы писали:

K>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...". Вот я и думаю, что есть эти "основы"? Ассемблер; умение решать алгоритмические задачи вроде ханойской башни ("алгоритмы и структуры данных"); Visual C++ с вездесущими объектами и копанием в устройстве Windows... или что-то ещё — я не знаю.

Алгоритмы и структуры данных и задачи вроде ханойских башен — разные вещи.
Первое — дисциплина, изучающая узкий класс фундаментальных структур данных и алгоритмов (списки, деревья, двоичный поиск и т.д.), второе — задача на применение рекурсии.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Основы. Что это?
От: ZevS  
Дата: 31.10.05 15:05
Оценка: 6 (2) +1
Здравствуйте, Joker6413, Вы писали:
...
J>звучит по крайней мере смешно.

Знание не есть ум, а только эрудиция. Ценно лишь знание, полученное, как результат личного опыта, а не знание приобретенное. Можно заучить кучу алгоритмов, языков программирования, паттернов ООП и т.д., но по настоящему хороший программист и вообще умный человек должен уметь мыслить сам. Это и есть та основа на кототой можно что-то строить. И это мое твердое убеждение. И что же здесь смешного?
Re: Основы. Что это?
От: jhfrek Россия  
Дата: 31.10.05 15:10
Оценка:
Здравствуйте, kilonet2, Вы писали:

K>Интересно узнать ваше мнение с аргументами.


Очевидно, прочитать все три тома Кнута и решить все упражнения с рейтингом до 50
Re[3]: Основы. Что это?
От: beroal Украина  
Дата: 01.11.05 05:29
Оценка: 5 (1)
Здравствуйте, Глеб Алексеев, Вы писали:

ГА>Здравствуйте, AndrewVK, Вы писали:


K>>>Один знакомый, называющий себя "хорошим" программистом, говорит: "Я знаю основы, поэтому легко могу правильно написать любую программу, быстро освоить новую технологию и т. д...".


AVK>>Посоветуй ему быстро освоить, ну, скажем, Пролог.

ГА>Лучше Хаскелл .
Нет, Coq!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.