программисты, help плиз!

Feb 04, 2010 16:30

Господа программеры! Подскажите, как лучше поступить ( Read more... )

Leave a comment

al_zatv February 4 2010, 15:26:28 UTC
на синтаксис нам почти начхать, а для начинающего это реальная проблема - сделать хоть что-нибудь, чтобы было видно результат. Формальные требования такие (их можно чуть-чуть подвинуть).
===============================
1) 1.2 Целью изучения дисциплины является: изучение высокоуровневых методов программирования на языках высокого уровня, на примере языка С++.

В результате освоения дисциплины студент обязан
- знать: структуру программы на языке С++; методологию объектно-ориентированного программирования и средства её поддержки в языке С++; способы обработки ошибок, включая средства работы с исключениями; принципы построения и основные классы стандартной библиотеки шаблонов STL;
- уметь: создавать и использовать объектно-ориентированные программы и библиотеки; использовать возможности обобщенного программирования; использовать в программе средства обработки исключений; пользоваться стандартной библиотекой языка С++.
==================================
2)1.1 Целью изучения дисциплины является: изучение методов объектно-ориентированного программирования на языках высокого уровня, на примере языка С++, а также современных концепций разработки и проектирования программного обеспечения(ПО).

В результате освоения дисциплины студент обязан
- знать: основы объектно-ориентированного программирования в С++,
особенности создания классов и их использование, в разрабатываемых
приложениях, основы проектирования объектно-ориентированного программного
обеспечения с использованием С++;
- уметь: проектировать и разрабатывать программное обеспечение средствами объектно-ориентированного языка С++.

Reply

m_a_m_o_n February 5 2010, 06:55:38 UTC
>1) изучение высокоуровневых методов программирования на языках высокого уровня....
Высокоуровневое программирование подразумевает хороший уровень
абстракции и функциональности, который позволяет писать программы
эффективно (не обязательно большие программы). Это (на мой взгляд):
1. Автоматическое управление памятью и защита памяти (нет в С++)
2. Хороший фрейворк для работы с коллекциями (В Java лучше чем
в C++, но в Python пользоваться им гораздо проче чем в Java,
сравните java.util.List lst = new java.util.ArrayList(){{add(1);add(2);add(3);}}; и list = [1,2,3])
3. Встроенный в язык тип данных строка (в С++ нет), это практически
самое важное, поскольку основные даные с которыми приходится работать
это строковые данные (с числами нигде проблем нет), так что чем
проще работать со строками тем проще программировать. Здесь же
функционал для работы со строками - regex и прочее.
4. Reflection и Introspection
5. Встроенные алогиртмы, сортировки и прочее
6. Различные средства языка которые позволяют писать гибкий и
надёжный код: обработка ошибок исключениями, возможость в качетве
результата функции венуть tuple а не единственное значение, lambda
функции и функиции как типы данных первого порядка, while-else

Заметте, я ни слова не сказал про ООП, по моему для высокоуровнего
языке это не ключевой момет, и всё что касается ООП вы можете рассказать
во втором курсе.
=====================================
>2) ООП
В первую голову это Инкапсуляция Наследование и Полиморфизм
затем другие паттерны построенные на принципах ООП.
Паттернов очень много, а для примеров достаточно базовых
конструкций языка и функции печати (printf).
C++ хорош тем что здесь вы можете рассказать про детали
реализации, таблицу виртуальных методов, и про проблемы,
множественное наследование и почему это плохо.

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

Reply

al_zatv February 5 2010, 13:35:34 UTC
то есть твоё мнение - python и c++?
До более или менее системного изучения паттернов дело точно не дойдёт - всё таки времени мало.

Reply

m_a_m_o_n February 5 2010, 13:37:46 UTC
Не знаю как так получилось, но да, Python и С++.

Reply


Leave a comment

Up