Здравствуйте!


Этот проект родился отчасти от мечты о лучшем мире, где каждый может решить какую-нибудь тривиальную повседневную задачу сам за 10 минут, не скачивая и не изучая сложные программы вроде MS Exсel. Отчасти же по просьбе знакомых и друзей, которым (да и мне в принципе тоже) не нравятся существующие курсы. (Мне они в частности не очень нравятся предполагаемой затянутостью и скучностью, однобокостью и тем, что после них обучающиеся не могут сами писать программ.)

Поэтому цель: рассказать базовые или редко популяризуемые вещи о синтаксисе языка, а потом как-то перейти к обучению как составлять программы и как мыслить. Посмотрим как это удастся и как будет со временем. Если получиться, затронуть вопросы алгоритмов (даже ИИ и думаю на счёт такой интересной задачки как перевозка козы и капусты).
Я сам не настолько крут, чтобы объяснить всё, и потому посягать на лавры и переделывать работу составителей уже существующих курсов не буду. Но часть материала предпочту рассказать по своему.

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

Несколько слов, почему я считаю, что изучать программирование стоит с Си, С++ (написать хотя бы 10 програмок):
— они живые и развивающиеся, что важно.
— благодаря им вы привыкнете к типам данных
— ... одному из популярнейших синтаксисов
— ... поработаете с памятью (указатели, массивы), и станете лучше понимать как она работает
— ... сможете решить задачу практически под любой ОС: Windows, Linux и поделиться запускаемым файлом.

И почему в дальнейшем стоит перейти на C#, Java, Python:
— У них больше возможностей решать повседневные задачи (работа с интернет, файлами, интерфейс пользователя и т.п.)
— У в них немного сложнее сделать себе гадость и меньше тонкостей.

П.С. Правильная программа отличается несколькими свойствами:
— она разумно расходует память
— её текст легко читать и понимать (написана в одном стиле)
— она делает то, что от неё хотел автор, причём при любых условиях и правильно. (надёжность)
— Она универсальна и легко модифицируема.
— Часто используемые фрагменты программы вынесены в функции, модули, библиотеки.
— Вероятность ошибки программиста из-за невнимательности или копипаста сведена к минимуму.

Все остальные принципы деления считаю ошибочными, пока мне не докажут обратного. Иногда окружающие представляют единственно правильным:
— общие рекомендации
— корпоративный стандарт
*Сферу разработки сверхнадёжных программ пока оставим в стороне - там правила жёсткие.*