Сисадмины и программисты Форум посвящён системным администраторам и программистам |
13.07.2009, 21:45
|
#31
|
Постоялец
pioner вне форума
Регистрация: 02.11.2008
Адрес: Санкт-Петербург
Сообщений: 869
|
тогда чтобы не заводить новую тему...книжки по php не посоветуете?
|
|
|
|
|
|
14.07.2009, 00:31
|
#32
|
Постоялец
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
|
Цитата:
Сообщение от Весёлый Молочник
to Googleman
Бьерн Страуструп автор языка Си++, может все же лучше его в таком случае почитать?
|
Цитата:
З.Ы. А учить С++ по талмуду Страуструпа не советую, ибо это больше справочник.
|
Уж поверь мне, читал. Книга сейчас передо мной так сказать лежит. Тем более
Цитата:
Сообщение от Весёлый Молочник
Новичку читать нужно то, что написанно для новичков. Это, по моему, прописная истина. Вы же не станете преподавать детям первоклашкам высшую математику.
|
Цитата:
Сообщение от Весёлый Молочник
Да и Си это не обьектно ориентированнный язык. По сути это разные языки, да и синтаксис различается.
|
1) Кто-нибудь здесь говорил что С объектно-ориентированный?
2) В каком месте синтаксис отличается? Есть только дополнения в него.
3) Языки да, разные. Но если человек не знает алгоритмизацию и базовые конструкции любого языка программирования
Цитата:
Сообщение от Весёлый Молочник
Коментарии и хелло ворлд - это тебе не программа. Можешь хоть 100 страничные коментарии писать, программу хорошую сделать это тебе не поможет, если ты совсем ничего не умеешь. Новичок как раз ничего не умеет.
|
Если неправильно что-нибудь выучить, в дальнейшем исправлять ошибку в обучении сложнее, чем сразу правильно научится. Использование отступов и комментариев это почерк программиста. Вот как когда учишься писать руку поставишь, так и будешь писать. Почерк менять трудно, а зависит от него многое.
Перестаем кормить тролля.
2pioner могу одолжить книжку по PHP. Либо в личку пиши, либо в приват.
|
|
|
|
14.07.2009, 01:00
|
#33
|
Постоялец
Moonlight вне форума
Регистрация: 15.05.2004
Сообщений: 863
|
Цитата:
Сообщение от pioner
тогда чтобы не заводить новую тему...книжки по php не посоветуете?
|
php.ru
|
|
|
14.07.2009, 12:49
|
#34
|
Постоялец
wilin вне форума
Регистрация: 12.04.2009
Сообщений: 1,245
|
А я могу одолжить или отдать (все равно уже не нужна) пресловутую книжку С для чайников )))) с диском, ога )
|
|
|
|
|
|
14.07.2009, 13:11
|
#35
|
Нарушитель правил поведения на форуме
Весёлый Молочник вне форума
Регистрация: 06.10.2006
Адрес: Якутск
Сообщений: 5,530
|
Цитата:
Уж поверь мне, читал. Книга сейчас передо мной так сказать лежит.
|
Б. В. Керниган, Д. М. Ричи "Язык программирования С" - а это не справочник? Вообще вашей логики не понимаю, человек просить С++, вы ему С обычный советуете.
Цитата:
1) Кто-нибудь здесь говорил что С объектно-ориентированный?
|
Если ты советуешь изучать Си вместо С++, когда человек просит С++, то это предпологает, что ты думаешь что Си тоже обьектноориентированный.
Цитата:
2) В каком месте синтаксис отличается? Есть только дополнения в него.
|
Я тебе могу написать в каком именно. Много получиться.
Цитата:
3) Языки да, разные. Но если человек не знает алгоритмизацию и базовые конструкции любого языка программирования
|
Тогда такому человеку паскаль учить надо, а не Си.
Цитата:
Если неправильно что-нибудь выучить, в дальнейшем исправлять ошибку в обучении сложнее, чем сразу правильно научится. Использование отступов и комментариев это почерк программиста. Вот как когда учишься писать руку поставишь, так и будешь писать. Почерк менять трудно, а зависит от него многое.
|
Дай ребенку первокласснику, высшую математику под предлогом учись сразу правильно.
|
|
|
|
14.07.2009, 14:41
|
#36
|
Постоялец
Jinc вне форума
Регистрация: 10.01.2009
Сообщений: 1,268
|
я с вас херею О_о
__________________
Сильные, умные, вольные...
|
|
|
14.07.2009, 22:23
|
#37
|
Постоялец
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
|
Цитата:
Сообщение от Весёлый Молочник
Дай ребенку первокласснику, высшую математику под предлогом учись сразу правильно.
|
Дай человеку учить сразу С++ вместо С под предлогом учись сразу правильно.
|
|
|
|
|
|
15.07.2009, 11:22
|
#38
|
Аксакал
VanDamM вне форума
Регистрация: 10.06.2007
Адрес: universe/spiral galaxy/sol system/earth/russia/ykt
Сообщений: 947
|
мда, столько всего понаписали и все не по делу... я конечно извиняюсь господа, но среди вас есть программисты? :\
теперь по делу,
для начала сразу скажу: программист это не некий "знающий и применяющий" некий язык программирования "кодер", а это высококвалифицированный специалист по проектированию и разработке программного обеспечения.
что он должен знать и уметь В ИДЕАЛЕ? ОЧЕНЬ МНОГОЕ:
Структуры данных- массивы, связные списки, словари
- плюсы и минусы использования тех или иных базовых структур данных (размер памяти, время выполнения операций с данными, в чем разница между массивами и связными списками в этом плане)
- реализации хэш-таблиц, обработка коллизий
- приоритетные очереди и способы их реализации
- знание сложных структур данных, таких как B-дерево, Биномиальная куча и Фибоначчиевская куча, АВЛ-дерево, Красно-чёрное дерево, Косое дерево, Список с пропусками, TRIE-структуры и т.д.
Алгоритмы- Базовые методы сортировки и поиска. Обход и поиск в структурах данных.
- Деревья, Графы, "простой путь" и "разделяй-и-властвуй" алгоритмы
- Алгоритмы на графах
- Численные методы
- Идентифицикация проблем класса NP.
Системное программирование (знания реализаций низкого уровня НУЖНЫ для понимания машинной логики вообще!)- Базовое понимание компиляторов, линковщиков и интерпретаторов.
- Понимание, что такое ассемблерный код и как работают программы на уровне железа.
- Понимание виртуальной памяти и пэйджинга.
- Понимание чем отличается kernel mode от user mode, что такое мульти-трединг, способы синхронизации и как реализованы примитивы синхронизации
- Чтение ассемблерного кода.
- Понимание, как работают сети, сетевые протоколы и может реализовать передачу данных через сокеты.
- Понимание как работает весь "программный стэк": железо (CPU + Память + Кэш + Прерывания + микрокоды), двоичный код, ассемблер, статическая и динамическая линковка, копиляция, интерпретация, JIT-компиляция, сборка мусора, куча, стэк, адресация памяти…
Дисциплина организации исходного кода- Организация кода в рамках стандартных соглашений: Код разделен на регионы, имеет хорошие комментарии, в т.ч. со ссылками на другие файлы исходников. Файл имеет разделы "license header", "summary", хорошие комментарии, непротиворечивую расстановку пробелов и табуляции. Исходник должен выглядеть красиво.
- Каждый физический файл исходника предназначен для чего-то одного, например, служит для объявления одного класса или для реализации одного функционала и т.д.
- Организация кода на физическом уровне точно соответствует проекту, и, глядя на имена файлов и структуру папок, можно понять как спроектирована данная реализация.
- Хорошие имена файлов, переменных, классов, методов и т.д.
- Нет длинных функций, а нестандартный код, багфиксы и допущения в коде поясняются комментариями.
- Допущения в коде сопровождаются assert'ами, поток операций в коде естественный - нет глубокой вложенности условий или методов.
Дисциплины организации работы- Контроль версий исходников, VSS и основы CVS/SVN в качестве пользователя
- Автоматизация build'ов, билдинг из командной строки
- Скрипты для сборки релиза и документации, инсталляторов, генераторов "release notes"
- автоматизированные юнит-тесты, Test-driven Development (TDD), тесты нагрузки
Проектирование и работа в команде- Декомпозиция задачи, создание многократно используемых функций/объектов, которые решают общие задачи, создание объектно-ориентированного кода, который инкапсулирует те условия задачи, которые могут быть изменены
- Проектирование системы в пределах одной платформы или технологии
- Проектирование системы, которая охватывает несколько технологий/платформ
Опыт и скорость кодирования- Знание основных IDE (VS, NetBeans, Eclipse & etc), использование горячих клавиш и написание своих макросов
- Профессиональное знание и использование нескольких API и Фреймфорков
- Опыт написания скриптов: Batch-файлы/shell, по желанию еще Perl/Python/Ruby/VBScript/Powershell
- Регулярные выражения
Базы Данных- основы баз данных, нормализация, ACID, транзакции
- базовое проектирование хороших нормализованных схем БД, с учетом запросов, которые будут выполняться
- использование представлений, хранимых процедур
- триггеры и собственные типы данных
- понимание разницы между кластеризованными и не-кластеризованными индексами
- базовое администрирование БД, оптимизация производительности БД, индексная оптимизация
- понимание как данные хранятся внутри, как хранятся индексы
- представление о том, как зеркалятся и реплицируются БД и т.д.
Языки программирования (общая эрудиция и базовое понимание)- Императивные, объектно-ориентированные и декларативные (SQL) языки программирования, дополнительный бонус - если понимает разницу между статической и динамической, слабой и строгой типизацией, статически выводимыми типами.
- Функциональные языки программирования, дополнительный бонус - если знает, что такое "ленивые вычисления", каррирование, продолжения.
- Конкурентные (Erlang, Oz) и логические (Prolog).
Специализация- Предметная область и специфика (базы данных, системные утилиты, медицинское ПО, бухгалтерское ПО, микроконтроллеры и т.п.)
- Слежение за всеми тенденциями и новыми технологиями в своей предметной области
- Чтение блогов по своей предметной области
- Чтение технических блогов, чтение блогов о программировании и разработке ПО
И еще, современный программист обязательно должен владеть, скажем так, объектно-ориентированным "мышлением" и знать паттерны проектирования.
Это все в идеале! Тем более путь к совершенству будет длиться долгие годы, и до конца дойдут только единицы и гении. ;)
В реальности конечно все зависит от специализации и конкретной профессии.
К примеру наш город может предложить вакансии следующим программистам:- прикладной программист (в основном delphi/sql, но встречались и c#/java)
- программист баз данных (mssql, pl/sql-oracle)
- веб-программист (php/asp.net/java/sql)
- веб-верстка (html,xtml,css,javascript, и желательно php,sql)
Теперь об учебе и книгах с которых надо начинать.
Учеба в Якутске ЯГУ.ИМИ без вопросов и это не только мое мнение. Или любой из нормальных центровузов (МГУ и прочие).
Книги обязательные к прочтению:
Совершенный код - http://www.ozon.ru/context/detail/id/3159814/
Регулярные выражения - http://www.ozon.ru/context/detail/id/1379940/
Приемы объектно-ориентированного проектирования. Паттерны проектирования - http://www.ozon.ru/context/detail/id/2457392/
Программист-прагматик. Путь от подмастерья к мастеру - http://www.ozon.ru/context/detail/id/1657382/
Жемчужины программирования - http://www.ozon.ru/context/detail/id/1039964/
Человеческий фактор: успешные проекты и команды - http://www.ozon.ru/context/detail/id/2338486/
Объектно-ориентированный анализ и проектирование с примерами приложений - http://www.ozon.ru/context/detail/id/3905587/
и наконец С++ о которой спрашивал автор топика
лучшее из учебников, которые еще не устарели, это классические "вильямсовские":
Основы программирования на С++ - http://www.ozon.ru/context/detail/id/1304347/
Полный справочник по C++ - http://www.ozon.ru/context/detail/id/1498452/
Объектно-ориентированное программирование в C++ - http://www.ozon.ru/context/detail/id/1313520/
после этого нужно будет "осовременить" свои знания
Шаблоны C++. Справочник разработчика - http://www.ozon.ru/context/detail/id/3960662/
Новые сложные задачи на C++ - http://www.ozon.ru/context/detail/id/2342923/
З.Ы. про веб-программирование вообще отдельный разговор если интересно продолжу...
Последний раз редактировалось VanDamM, 15.07.2009 в 11:25.
|
|
|
|
15.07.2009, 17:52
|
#39
|
Постоялец
Moonlight вне форума
Регистрация: 15.05.2004
Сообщений: 863
|
идеальных программистов нет. Иначе бы не было такого многообразия языков. Вообще по-моему нынче полезно изучать Java. Си++ конечно многофункциональный язык, но кто знает что с ним случится завтра? Да и зная Java, в принципе по-моему легко научиться программировать на любом объектно-ориентированном языке.
P.S. кроссплатформенность рулит!
|
|
|
15.07.2009, 20:05
|
#40
|
Постоялец
pioner вне форума
Регистрация: 02.11.2008
Адрес: Санкт-Петербург
Сообщений: 869
|
Цитата:
З.Ы. про веб-программирование вообще отдельный разговор если интересно продолжу...
|
продолжай.....
))))
|
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +9, время: 10:24. |
|
|