Вернуться   Форумы Якутск Онлайн > Hi-Tech > Сисадмины и программисты
Сисадмины и программисты Форум посвящён системным администраторам и программистам

Ответ
 
Опции темы Опции просмотра

Старый 13.07.2009, 21:45   #31
pioner
Постоялец
 
Аватар для pioner
 
pioner вне форума
Регистрация: 02.11.2008
Адрес: Санкт-Петербург
Сообщений: 869
pioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутацию
Отправить сообщение для pioner с помощью ICQ
По умолчанию

тогда чтобы не заводить новую тему...книжки по php не посоветуете?
__________________
vk.com/borisov_photo
  Ответить с цитированием

Старый 14.07.2009, 00:31   #32
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от Весёлый Молочник Посмотреть сообщение
to Googleman

Бьерн Страуструп автор языка Си++, может все же лучше его в таком случае почитать?
Цитата:
З.Ы. А учить С++ по талмуду Страуструпа не советую, ибо это больше справочник.
Уж поверь мне, читал. Книга сейчас передо мной так сказать лежит. Тем более
Цитата:
Сообщение от Весёлый Молочник Посмотреть сообщение
Новичку читать нужно то, что написанно для новичков. Это, по моему, прописная истина. Вы же не станете преподавать детям первоклашкам высшую математику.
Цитата:
Сообщение от Весёлый Молочник Посмотреть сообщение
Да и Си это не обьектно ориентированнный язык. По сути это разные языки, да и синтаксис различается.
1) Кто-нибудь здесь говорил что С объектно-ориентированный?
2) В каком месте синтаксис отличается? Есть только дополнения в него.
3) Языки да, разные. Но если человек не знает алгоритмизацию и базовые конструкции любого языка программирования

Цитата:
Сообщение от Весёлый Молочник Посмотреть сообщение
Коментарии и хелло ворлд - это тебе не программа. Можешь хоть 100 страничные коментарии писать, программу хорошую сделать это тебе не поможет, если ты совсем ничего не умеешь. Новичок как раз ничего не умеет.
Если неправильно что-нибудь выучить, в дальнейшем исправлять ошибку в обучении сложнее, чем сразу правильно научится. Использование отступов и комментариев это почерк программиста. Вот как когда учишься писать руку поставишь, так и будешь писать. Почерк менять трудно, а зависит от него многое.

Перестаем кормить тролля.

2pioner могу одолжить книжку по PHP. Либо в личку пиши, либо в приват.
  Ответить с цитированием

Старый 14.07.2009, 01:00   #33
Moonlight
Постоялец
 
Аватар для Moonlight
 
Moonlight вне форума
Регистрация: 15.05.2004
Сообщений: 863
Moonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от pioner Посмотреть сообщение
тогда чтобы не заводить новую тему...книжки по php не посоветуете?
php.ru
  Ответить с цитированием

Старый 14.07.2009, 12:49   #34
wilin
Постоялец
 
Аватар для wilin
 
wilin вне форума
Регистрация: 12.04.2009
Сообщений: 1,245
wilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутациюwilin имеет наиславнейшую репутацию
По умолчанию

А я могу одолжить или отдать (все равно уже не нужна) пресловутую книжку С для чайников )))) с диском, ога )
  Ответить с цитированием

Старый 14.07.2009, 13:11   #35
Весёлый Молочник
Нарушитель правил поведения на форуме
 
Весёлый Молочник вне форума
Регистрация: 06.10.2006
Адрес: Якутск
Сообщений: 5,530
Весёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутацию
Отправить сообщение для Весёлый Молочник с помощью ICQ
По умолчанию

Цитата:
Уж поверь мне, читал. Книга сейчас передо мной так сказать лежит.
Б. В. Керниган, Д. М. Ричи "Язык программирования С" - а это не справочник? Вообще вашей логики не понимаю, человек просить С++, вы ему С обычный советуете.

Цитата:
1) Кто-нибудь здесь говорил что С объектно-ориентированный?
Если ты советуешь изучать Си вместо С++, когда человек просит С++, то это предпологает, что ты думаешь что Си тоже обьектноориентированный.


Цитата:
2) В каком месте синтаксис отличается? Есть только дополнения в него.
Я тебе могу написать в каком именно. Много получиться.

Цитата:
3) Языки да, разные. Но если человек не знает алгоритмизацию и базовые конструкции любого языка программирования
Тогда такому человеку паскаль учить надо, а не Си.

Цитата:
Если неправильно что-нибудь выучить, в дальнейшем исправлять ошибку в обучении сложнее, чем сразу правильно научится. Использование отступов и комментариев это почерк программиста. Вот как когда учишься писать руку поставишь, так и будешь писать. Почерк менять трудно, а зависит от него многое.
Дай ребенку первокласснику, высшую математику под предлогом учись сразу правильно.
  Ответить с цитированием

Старый 14.07.2009, 14:41   #36
Jinc
Постоялец
 
Аватар для Jinc
 
Jinc вне форума
Регистрация: 10.01.2009
Сообщений: 1,268
Jinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутациюJinc имеет наиславнейшую репутацию
По умолчанию

я с вас херею О_о
__________________
Сильные, умные, вольные...
  Ответить с цитированием

Старый 14.07.2009, 22:23   #37
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от Весёлый Молочник Посмотреть сообщение
Дай ребенку первокласснику, высшую математику под предлогом учись сразу правильно.
Дай человеку учить сразу С++ вместо С под предлогом учись сразу правильно.
  Ответить с цитированием

Старый 15.07.2009, 11:22   #38
VanDamM
Аксакал
 
Аватар для VanDamM
 
VanDamM вне форума
Регистрация: 10.06.2007
Адрес: universe/spiral galaxy/sol system/earth/russia/ykt
Сообщений: 947
VanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутациюVanDamM имеет наиславнейшую репутацию
По умолчанию

мда, столько всего понаписали и все не по делу... я конечно извиняюсь господа, но среди вас есть программисты? :\

теперь по делу,
для начала сразу скажу: программист это не некий "знающий и применяющий" некий язык программирования "кодер", а это высококвалифицированный специалист по проектированию и разработке программного обеспечения.

что он должен знать и уметь В ИДЕАЛЕ? ОЧЕНЬ МНОГОЕ:

Структуры данных
  • массивы, связные списки, словари
  • плюсы и минусы использования тех или иных базовых структур данных (размер памяти, время выполнения операций с данными, в чем разница между массивами и связными списками в этом плане)
  • реализации хэш-таблиц, обработка коллизий
  • приоритетные очереди и способы их реализации
  • знание сложных структур данных, таких как 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/

З.Ы. про веб-программирование вообще отдельный разговор если интересно продолжу...
__________________
What evil lurks in the hearts of men
Hold the beat. Stop the beat. Drop the beat!
Портфолио - Блог эмуляции - Блог увлечений

Последний раз редактировалось VanDamM, 15.07.2009 в 11:25.
  Ответить с цитированием

Старый 15.07.2009, 17:52   #39
Moonlight
Постоялец
 
Аватар для Moonlight
 
Moonlight вне форума
Регистрация: 15.05.2004
Сообщений: 863
Moonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутациюMoonlight имеет наиславнейшую репутацию
По умолчанию

идеальных программистов нет. Иначе бы не было такого многообразия языков. Вообще по-моему нынче полезно изучать Java. Си++ конечно многофункциональный язык, но кто знает что с ним случится завтра? Да и зная Java, в принципе по-моему легко научиться программировать на любом объектно-ориентированном языке.
P.S. кроссплатформенность рулит!
  Ответить с цитированием

Старый 15.07.2009, 20:05   #40
pioner
Постоялец
 
Аватар для pioner
 
pioner вне форума
Регистрация: 02.11.2008
Адрес: Санкт-Петербург
Сообщений: 869
pioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутациюpioner имеет наиславнейшую репутацию
Отправить сообщение для pioner с помощью ICQ
По умолчанию

Цитата:
З.Ы. про веб-программирование вообще отдельный разговор если интересно продолжу...
продолжай.....

))))
__________________
vk.com/borisov_photo
  Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +9, время: 10:24.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2024, Якутск-Online. Перевод: zCarot