Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Развитие Visual C++

284
20 июня 2005 года
michael_is_98
587 / / 25.02.2005
Какая версия Visual C++ сейчас актуальна? Какие библиотеки подпрограмм под Visual C++ сейчас востребованы? Есть ли будущее у продукта Visual C++ и у языка Си++ вообще. Сможет ли Си++ слиться с современными языками, ориентированными на мультиплатформенность?
Страницы:
5.2K
20 июня 2005 года
HuntGT
35 / / 17.12.2004
Цитата:
Originally posted by michael_is_98
Какая версия Visual C++ сейчас актуальна? Какие библиотеки подпрограмм под Visual C++ сейчас востребованы? Есть ли будущее у продукта Visual C++ и у языка Си++ вообще. Сможет ли Си++ слиться с современными языками, ориентированными на мультиплатформенность?


Я говорю да Visual C++; VB и остальные языки
ООП на основе платформы NET имеют будующее!(хотя
ВБ и не относится к ООП он является языком который разрабатывается в среде Win32API)

284
20 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by HuntGT
Я говорю да Visual C++; VB и остальные языки
ООП на основе платформы NET имеют будующее!(хотя
ВБ и не относится к ООП он является языком который разрабатывается в среде Win32API)


А вот что касается MFC - будет ли она жить. Ведь сейчас все больше и больше специалистов переходят на Java, тот же .NET.

3
20 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
А вот что касается MFC - будет ли она жить. Ведь сейчас все больше и больше специалистов переходят на Java, тот же .NET.



Уважаемые, разберитесь сначала в сути области, прежде, чем задавать такие бредовые вопросы.

Я же как-то уже отвечал:
Java - язык,
.NET - платформа,
MFC - библиотека (однозначно умрет, т.к. сейчас уже еле двигается от ожирения).

284
21 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Уважаемые, разберитесь сначала в сути области, прежде, чем задавать такие бредовые вопросы.

Я же как-то уже отвечал:
Java - язык,
.NET - платформа,
MFC - библиотека (однозначно умрет, т.к. сейчас уже еле двигается от ожирения).



Конкрентный вопрос: что должен выбрать разработчик, если он хочет написать обычный более-менее крупный проект для обычного пользователя. Суть проста: так как проект более-менее крупный, нужно, чтобы при его завершении не "умерло" то, что уже было сделано (в основном на Си++, ФОРТРАН,
т.к. проект включает мат. функции). В этой сфере, насколько мне известно, ни Java, ни NET не стоят рядом с Си и ФОРТРАН.

Хорошо, мы выбрали Си++. Допустим. И что? Писать интерфейс на чистом API? Или просто бросаться на JAVA только потому, что это модно, и интерфейс разрабатывается проще и легче (в ущерб существующим наработкам).

3
21 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Конкрентный вопрос: что должен выбрать разработчик, если он хочет написать обычный более-менее крупный проект для обычного пользователя. Суть проста: так как проект более-менее крупный, нужно, чтобы при его завершении не "умерло" то, что уже было сделано (в основном на Си++, ФОРТРАН,
т.к. проект включает мат. функции).


:)
Уже лучше.
Скажи конкретно, сколько столетий будет жить проект? :)
Думаю, за наш век мало что изменится коренным образом. Да и проект потом можно (и наверняка нужно) будет переписать.

Цитата:
Originally posted by michael_is_98
В этой сфере, насколько мне известно, ни Java, ни NET не стоят рядом с Си и ФОРТРАН.


Этого я не знаю, но что-то подсказывает мне, что язык не имеет большого значения в данном случае.

Цитата:
Originally posted by michael_is_98
Хорошо, мы выбрали Си++. Допустим. И что? Писать интерфейс на чистом API? Или просто бросаться на JAVA только потому, что это модно, и интерфейс разрабатывается проще и легче (в ущерб существующим наработкам).


Обычно язык программирования выбирается из области применения, наличия квалифицированных разработчиков и т.д. Но никак не исходя из интерфейса пользователя.
Писать на "чистом API" (наверное, подразумевается Win32 API) совсем совсем необязательно. Думаю, твой вопрос в конечном итоге вырождается в вопрос: что использовать вместо MFC?

Ответ неоднозначный. Все опять же зависит от задачи. Если надо писать под Windows, то я советую WTL. Если под др. платформы или сразу под несколько, то можно использовать Qt или Gecko.

284
22 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:

Этого я не знаю, но что-то подсказывает мне, что язык не имеет большого значения в данном случае.


Согласен, но есть библиотеки подпрограмм, в которых реализованы мат. алгоритмы по различным моделям. В большинстве своем они написаны на ФОРТРАНе и Си.
Все они уже давно отттестированы и переписавать их под новую платформу - большая работа.

Цитата:

Ответ неоднозначный. Все опять же зависит от задачи. Если надо писать под Windows, то я советую WTL. Если под др. платформы или сразу под несколько, то можно использовать Qt или Gecko.


WTL,Qt,Gecko - это отдельные библиотеки или они поставляются вместе с Си++. Чем они отличаются от MFC, ATL, STL?

3
22 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Все они уже давно отттестированы и переписавать их под новую платформу - большая работа.


Ну тогда выбор очевиден.
Кроме того стоит четко разграничивать бизнес-логику и пользовательский интерфейс. Бизнес-логика не должна быть жестко связана с UI, поэтому реализовывать их можно (и нужно) по-отдельности, при этом можно и на разных языках.

Цитата:
Originally posted by michael_is_98

WTL,Qt,Gecko - это отдельные библиотеки или они поставляются вместе с Си++. Чем они отличаются от MFC, ATL, STL?


Это отдельные библиотеки.
Отличие в том, что STL - это стандартная библиотека С++, она не для написания GUI.
ATL - библиотека для создания различных COM объектов и т.п.
MFC - старая тежелая оконная (но не только) библиотека для VC.
WTL - относительно новая, легкая и гибкая оконная библиотека.
Qt, Gecko - две мультиплатформенных оконных библиотеки из многих других.

284
22 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Бизнес-логика не должна быть жестко связана с UI, поэтому реализовывать их можно (и нужно) по-отдельности, при этом можно и на разных языках.


Само понятие бизнес-логика близко к терминам баз данных. Здесь можно использовать и Java с его JDBC, и Дельфи с его ADO, и Visual С++ через ODBC.
Просто вопрос в том, с помощью какого инструмента это делать легче всего для программиста и использовать те инструменты, которые дают большую гибкость.

Цитата:

Это отдельные библиотеки.
Отличие в том, что STL - это стандартная библиотека С++, она не для написания GUI.
ATL - библиотека для создания различных COM объектов и т.п.
MFC - старая тежелая оконная (но не только) библиотека для VC.
WTL - относительно новая, легкая и гибкая оконная библиотека.
Qt, Gecko - две мультиплатформенных оконных библиотеки из многих других.


WTL новее STL? STL насколько мне известно есть в Visual С++ 6.0 и уже считается устаревшей.
Где можно взять сам WTL и его документацию?

3
22 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Само понятие бизнес-логика близко к терминам баз данных.


Это понятие из OOA&D и имеет отношение не только к БД.
Подразумевается, что есть некое ядро, выполняющее работу (бизнес-логику). А далее к этому ядру привязывается интерфейс пользователя.
Можно привязать потом и другой интерфейс, т.к. интерфейс не влияет на работу ядра, а лишь передает ему параметры и принимает результаты.

Цитата:
Originally posted by michael_is_98
Просто вопрос в том, с помощью какого инструмента это делать легче всего для программиста и использовать те инструменты, которые дают большую гибкость.


Бизнес-логику пиши на том, на чем удобнее её реализовывать, как я понял в твоем случае это С++ и фортран.
А потом прикручивайте UI, написанный на том, на чем легче написать его. Хоть на VB или Delphi.

Цитата:
Originally posted by michael_is_98
WTL новее STL? STL насколько мне известно есть в Visual С++ 6.0 и уже считается устаревшей.
Где можно взять сам WTL и его документацию?


Набери в поисковике STL, а потом WTL и почитай что из них что.
Это совершенно не сравнимые вещи. Переведя в другое русло твой вопрос звучит примерно так: насколько мне известно рулевое колесо - уже устаревшее, поэтому я хочу использовать низкопрофильную резину.

Про WTL на русском можно почитать на rsdn.ru

5.2K
22 июня 2005 года
HuntGT
35 / / 17.12.2004
Цитата:
Originally posted by Green
Уважаемые, разберитесь сначала в сути области, прежде, чем задавать такие бредовые вопросы.

Я же как-то уже отвечал:
Java - язык,
.NET - платформа,
MFC - библиотека (однозначно умрет, т.к. сейчас уже еле двигается от ожирения).


Ребята тут идет речь,насколько я понимаю, о
Win32API и разроботке в GUI.

284
23 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Это понятие из OOA&D и имеет отношение не только к БД.


Что такое OOA&D?

Цитата:

Набери в поисковике STL, а потом WTL и почитай что из них что.
Это совершенно не сравнимые вещи. Переведя в другое русло твой вопрос звучит примерно так: насколько мне известно рулевое колесо - уже устаревшее, поэтому я хочу использовать низкопрофильную резину.

Про WTL на русском можно почитать на rsdn.ru


Что значит STL и WTL несравнимые вещи? Если у них разные цели, ради которых они создавались, конечно они несравнимы.
STL, как я понял, не предназначен для создания интерфейса пользователя.
WTL - аналог MFC. Но действительно ли лучший аналог?

О совместимости. Я знаю, что из JAVA программы можно с помощью спец. средств получить Си#-программу. Таким образом можно решить вопрос о переходе с одной платформы (JAVA) на другую .NET.
А в Си++ что-то подобное возможно?
Ведь если мультиплатформенные ЯП займут большую часть рынка разработки ПО, найдется ли место языку Си++ и, в частности, Visual C++?

3
23 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Что такое OOA&D?


Объектноориентированный анализ и проектирование.

Цитата:
Originally posted by michael_is_98

STL, как я понял, не предназначен для создания интерфейса пользователя.


Правильно понял

Цитата:
Originally posted by michael_is_98

WTL - аналог MFC. Но действительно ли лучший аналог?


Всё зависит от критерия оптимальности.
Скажем так, моим требованиям отвечает.

Цитата:
Originally posted by michael_is_98

А в Си++ что-то подобное возможно?


Можно написать COM-компонент и использовать во многих языках.

Цитата:
Originally posted by michael_is_98

Ведь если мультиплатформенные ЯП займут большую часть рынка разработки ПО, найдется ли место языку Си++ и, в частности, Visual C++?


Эка тебя потянуло...
Давай откровенно. Любая система через год уже устаревшая. Кроме того, не думаю, что то что ты собираешься написать будет чем-то мегасистемным... потому, что уровень задаваемых вопросов не тот.
Поэтому начинать писать в принципе все равно на чем. Потом когда все прояснится легче переписать, а переписывать придется однозначно.
Следуй золотому правилу: не проектируй тщательно стратегически, проектируй тактически и пробуй. В программировании, как и во всем остальном главное - эксперимент.

284
24 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Объектноориентированный анализ и проектирование.

Эка тебя потянуло...
Давай откровенно. Любая система через год уже устаревшая. Кроме того, не думаю, что то что ты собираешься написать будет чем-то мегасистемным... потому, что уровень задаваемых вопросов не тот.
Поэтому начинать писать в принципе все равно на чем. Потом когда все прояснится легче переписать, а переписывать придется однозначно.
Следуй золотому правилу: не проектируй тщательно стратегически, проектируй тактически и пробуй. В программировании, как и во всем остальном главное - эксперимент.


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

3
24 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
У меня есть опасение, что реализуя простоту (в JAVA, например) мы придем к ядру (JVM или платформа .NET), на которое будут ориентироваться разработчики. Программист будет создавать не исполняемый файл, а просто текст программы, который будет выполняться этим ядром.
Поэтому есть разница: исходить из обычного модульного программирования или ориентироваться на ООП (с возможность переводить класс с одной платформы на другую).



Уважаемый, тебя это интересует с академической точки зрения или ты думаешь над реальной задачей.
Если с академической,- то говорить можно сколько угодно, а если с точки зрения реальной задачи - то пиши на чем угодно и не думай так много, все равно ни к чему не придешь.
Это все равно, что перед сватьбой думать какого цвета будут глаза у твоих пра-правнуков и будут ли они вписываться в цветовую гамму модную через 100-200 лет.

8.1K
26 июня 2005 года
cupec
33 / / 26.06.2005
Здравствуй!
Меня очень заинтересовала твоя методика написания программ. Я начинающий программист и мне очень интересно как реализовывается написание программы с разделением на бизнес-логику и UI. Если можно совсем малюсенький пример (ну там сложение двух чисел) чтобы один раз увидеть вместо 100 услышать :)
373
26 июня 2005 года
unmoved
216 / / 28.11.2004
Я тут вас всех прочитал просто офигел, если честно. X)-

Ну воопервых технологию NET уже поодерживает Visual Studio, то есть теперь достаточно выбрать один из 4 языков пакета и писать на нем под NET, и будет абсолютно пофиг напишешь ли ты его на VB или VC++. Ее так же поддреживает и Delphi. То есть NET это уже RAD в Visula Studio, а не ООП как в VC++ 6.0. Однако сохраняется возможность писать с использованием MFC. FORTRAN язык который уже давно УМЕР, на нем уже лет 7-8 ни чего не пишут(имеется ввиду ядра), С++ является наиболее гибким по сравнению с другими, поэтому и получил такое распространение(все ядра систем Win и NIx пишутся на нем).

Теперь что касается биснесc проектов и бизнесс логики. Для создания бизнесс проектов используются пакеты BPWin и ERWin, а таку же Microsoft Project. Если кто интересуется могу рассказать как и что, но вообще это целая облать знаний.

Так теперь по поводу переходу на Java. Это язык, очень похожий на С++, но являющийся менее гибким, но более простым в использовании и дающий наименьщюу скорость работы. Java - ЭТО не платформа.

Теперь по поводу БД и способов подключения к ним:
Delphi - ADO, BDE, ODBC (Delphi 2005 есть новый способ подключения)
Visual Studio - ADO, ODBC
ADO - является разработкой Microsoft и поэтому VC++ ее в первую одередь использует, вышел ее новый стандарт ADO.NET, ODBC устарела и скоро отомрет сама собой.

Если хочешь писать на языке который все время будет жить то используй asm не ошибешся... :P
3
27 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by unmoved

и будет абсолютно пофиг напишешь ли ты его на VB или VC++.


Давай ка уточним, что для .NET подходит лишь managed C++, а не стандартный С++.

Цитата:
Originally posted by unmoved

То есть NET это уже RAD в Visula Studio, а не ООП как в VC++ 6.0.


Что-то не понял мысли...
При чем тут ООП и RAD?

Цитата:
Originally posted by unmoved

FORTRAN язык который уже давно УМЕР, на нем уже лет 7-8 ни чего не пишут(имеется ввиду ядра),

(все ядра систем Win и NIx пишутся на нем).


Ты контролируешь процесс разработки во всем мире?
Какие ядра? Пушечные?

Цитата:
Originally posted by unmoved

Теперь что касается биснесc проектов и бизнесс логики. Для создания бизнесс проектов используются пакеты BPWin и ERWin, а таку же Microsoft Project. Если кто интересуется могу рассказать как и что, но вообще это целая облать знаний.


М-да... слышал звон, не знает, где он.
MS Project - инструмент автоматизации управления проектами (любыми, не обязательно связанными с разработкой программ). По большому счету, это просто дневник, для планирования использования ресурсов, отчетности и контроля.
С BPWin и ERWin не работал, но как понимаю, это CASE-средства.
Что значит "создание бизнес проектов", как и само понятие "бизнес проекта" в твоем понимании, для меня не ясно.
Но ты влез совершенно не понимая смысла обсуждаемого ранее. Как понял в твоем понимании слово "бизнес" неотъемлемо связано со знаком $ или иными словами с понятием "коммерция", но само по себе слово "бизнес" переводится как "дело", а под понятием "бизнес-логики" скрывается просто реализация алгоритма(мов), который производит действия, определяемые назначением программы. К примеру, есть у тебя электронные шахматы, так вот реализация логики принятий решений перестановкой шахматных фигур - это и будет бизнес-логика, а то, что показывает на экране эти фигуры и следит за движением мышки человеком - это пользовательский интерфейс (UI) и он может быть любым: графическим или текстовым (как в старых играх), и принимать команды пользователя может, как от мышки, так и с клавиатуры или др. устройства ввода. При этом бизнес-логика остается неизменной и никак не зависит от UI.

Цитата:
Originally posted by unmoved

Так теперь по поводу переходу на Java. Это язык, очень похожий на С++,


Вся их схожесть начинается и заканчивается заимствованным синтаксисом.

Цитата:
Originally posted by unmoved

но являющийся менее гибким, но более простым в использовании и дающий наименьщюу скорость работы.


Понятие гибкости и критерий простоты приведи, пожалуйста.

Цитата:
Originally posted by unmoved

Если хочешь писать на языке который все время будет жить то используй asm не ошибешся... :P


Думаю, что и сам автор понимает, что это типа шутка.

3
27 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by cupec
Здравствуй!
Меня очень заинтересовала твоя методика написания программ. Я начинающий программист и мне очень интересно как реализовывается написание программы с разделением на бизнес-логику и UI. Если можно совсем малюсенький пример (ну там сложение двух чисел) чтобы один раз увидеть вместо 100 услышать :)



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

Все сводится к тому, что механизмы обработки данных отвязанны от механизмов отображения этих данных.
Ну например, сложение двух чисел. Понятно, что алгоритм сложения никак не будет зависеть от того как мы эти числа покажем на экране: в арабском или римском формате или в виде счетных палочек. Поэтому есть бизнес-логика (ядро, движок, можно называть как угодно), которая производит сложение чисел, а есть интерфейс пользователя, который принимает аргументы от пользователя, передает их бизнес-логике, а потом получает и отображает результат.
Ну пример кода (т.к. пример несколько примитивен, то и код будет академическим).
Это интерфейс бизнес-логики:

 
Код:
class Summator
{
public:
  void setFirstArgument(int arg);
  void setSecondArgument(int arg);
  int getResult();
};


Так может выглядеть интерфейс пользователя (не буду заводить соотв. класс):
Код:
int main()
{
  Summator summator;
  std::cout << "Input first argument: " << std::endl;
  int firstArgument;
  std::cin >> firstArgument;
  summator.setFirstArgument(firstArgument);

  std::cout << "Input second argument: " << std::endl;
  int secondArgument;
  std::cin >> secondArgument;
  summator.setSecondArgument(secondArgument);

  std::cout << "Result: "  << summator.getResult() << std::endl;  
}


При таком подходе мы, к примеру, теперь можем создать оконный интерфейс, где аргументы будут вводиться пользователем в Edit, а вычисление будем производится по нажатию на клавишу "Do it". При этом мы напишем код UI, а код самого сумматора не изменится.
Т.е. что-то типа такого:
Код:
class SumWindow
{
public:
  RESULT OnButtonDoIt();

private:
  Summator summator;
};

RESULT SumWindow::OnButtonDoIt()
{
  summator.setFirstArgument( editFirstArg->getIntValue() );
  summator.setSecondArgument( editSecondArg->getIntValue() );
  editResult->setIntVal( summator.getResult() );
}
373
27 июня 2005 года
unmoved
216 / / 28.11.2004
Цитата:
Originally posted by Green
Давай ка уточним, что для .NET подходит лишь managed C++, а не стандартный С++.


Да ты знаешь, что Pascal это не Delphi и что С++ это не managed С++. Однако эти понятия явлются очень похожими.

Цитата:
Originally posted by Green
Что-то не понял мысли...
При чем тут ООП и RAD?



Ты когда нибудь писал на VC++ под NET? На что это похоже? На RAD скорее всего так? А что представляет собой процесс разработки в VC++ с использованием MFC, но уже без NET? Многие авторы книг утверждают что это чистый ООП, я в принципе с ними согласен. Если что не так понимаю оргументируй более конкретно.


Цитата:
Originally posted by Green
М-да... слышал звон, не знает, где он.
MS Project - инструмент автоматизации управления проектами (любыми, не обязательно связанными с разработкой программ). По большому счету, это просто дневник, для планирования использования ресурсов, отчетности и контроля.
С BPWin и ERWin не работал, но как понимаю, это CASE-средства. Что значит "создание бизнес проектов", как и само понятие "бизнес проекта" в твоем понимании, для меня не ясно.
Но ты влез совершенно не понимая смысла обсуждаемого ранее. Как понял в твоем понимании слово "бизнес" неотъемлемо связано со знаком $ или иными словами с понятием "коммерция", но само по себе слово "бизнес" переводится как "дело", а под понятием "бизнес-логики" скрывается просто реализация алгоритма(мов), который производит действия, определяемые назначением программы. К примеру, есть у тебя электронные шахматы, так вот реализация логики принятий решений перестановкой шахматных фигур - это и будет бизнес-логика, а то, что показывает на экране эти фигуры и следит за движением мышки человеком - это пользовательский интерфейс (UI) и он может быть любым: графическим или текстовым (как в старых играх), и принимать команды пользователя может, как от мышки, так и с клавиатуры или др. устройства ввода. При этом бизнес-логика остается неизменной и никак не зависит от UI.



Тут все очень просто под бизнес логикой у меня понимается автоматизация какой-то отрасли деятельности предприятия или его в целом. То есть созданием системы (ЭИС). Я так вижу ты один раз брал в руки MS Project. В дествительно на первый взгляд так может показаться, однако это далеко не так, мне не хочется рассказывать что и как, но если кто захочит, то с радостью изложу свою точку зрения по поводу Project. ERWin один самых мошных средст проектирования ЭИС, собирающий в одном месте все что тебе нужно.


Цитата:
Originally posted by Green
Понятие гибкости и критерий простоты приведи, пожалуйста.(Java)


Тут тоже все очень просто Java не используется для программирования мат. ядра системы, так же он не исплозуется для написания UI. И не стоит его ставить в ранг с такими языками как С++. Он подчти как VB и VBScript.

Цитата:
Originally posted by Green
Думаю, что и сам автор понимает, что это типа шутка.



Asm он же ассемблер является языком низкого уровня. Одним из самых простых, но в то же время самым эффективным. Но написать на нем это все равно что покрасить весь город кисточкой для рисования. Что бы писать на нем нужно четко знать все режимы и структуру работы конкретного процессора, а так же стеков памяти.

3
27 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by unmoved
Да ты знаешь, что Pascal это не Delphi и что С++ это не managed С++. Однако эти понятия явлются очень похожими.


Какие понятия?

Цитата:
Originally posted by unmoved

Ты когда нибудь писал на VC++ под NET? На что это похоже? На RAD скорее всего так? А что представляет собой процесс разработки в VC++ с использованием MFC, но уже без NET? Многие авторы книг утверждают что это чистый ООП, я в принципе с ними согласен. Если что не так понимаю оргументируй более конкретно.


Что значит "чистый ООП"?
RAD - это всего лишь набор инструментов для автогенерации кода, а код этот может быть как ООП, так и не ООП.
RAD и ООП никак не связаны.
Ты, как я понял, пытаешься утверждать примерно следущее: "Пушкин писал на русском языке, а я пишу в MS Word."

Цитата:
Originally posted by unmoved

Тут все очень просто под бизнес логикой у меня понимается автоматизация какой-то отрасли деятельности предприятия или его в целом. То есть созданием системы (ЭИС).


А ты не пробовал почитать предыдущие посты и вникнуть в контекст обсуждения.

Цитата:
Originally posted by unmoved

Я так вижу ты один раз брал в руки MS Project. В дествительно на первый взгляд так может показаться, однако это далеко не так, мне не хочется рассказывать что и как, но если кто захочит, то с радостью изложу свою точку зрения по поводу Project.


Ну допустим MS Project я использую ежедневно (исключая субботу и воскресенье).
Так что расскажи ка, как он используется для "создания бизнесс проектов". Только не скатывайся к тому, что называется "планированием", я в курсе, как используется данный продукт для планирования.

Цитата:
Originally posted by unmoved

Тут тоже все очень просто Java не используется для программирования мат. ядра системы, так же он не исплозуется для написания UI.


Чего?! :D
Что такое мат.ядро системы? Какой системы? Солнечной?
А как понять "не исплозуется для написания UI", т.е. я не могу на Java написать GUI ?

Цитата:
Originally posted by unmoved

И не стоит его ставить в ранг с такими языками как С++. Он подчти как VB и VBScript.


Огласи, пожалуйста, положение о рангах языков?
Язык первого ранга, язык второго ранга и т.д.? :)

Цитата:
Originally posted by unmoved

Asm он же ассемблер является языком низкого уровня. Одним из самых простых, но в то же время самым эффективным.


Критерий эффективности приводить будем?

Цитата:
Originally posted by unmoved

Но написать на нем это все равно что покрасить весь город кисточкой для рисования.


Дык, значит не очень эффективный?

Цитата:
Originally posted by unmoved

Что бы писать на нем нужно четко знать все режимы и структуру работы конкретного процессора, а так же стеков памяти.


Гы... ты серьезно? прямо таки все?
Кстати, объясни словосочетание "структуру работы", а то как-то в голове не укладывается.

373
27 июня 2005 года
unmoved
216 / / 28.11.2004
И так первое когда ты находишся в среде разработки RAD, то ты ООП принципы вообще не используешь, за исключением тех случаев когда тебе самому нужно создать класс, тип, или компонет... Твое программирование будет называться как? - ПОП(процедурно-ориентированое), надеюсь объяснять не нужно по чему?

Поехали дальше. MS Project используется для планирования и расчета, это его основная задача, но ни не ДНЕВНИКА.

мат. ядро системы - основная часть любой программы, в которой выполняются математические вычисления. Для ее написания исползуются зачастую такие языки как С++, Pascal, asm и т.д. Java может использоваться теоритически, но не используется и редко используется для написания UI, так как нет соответствующей среды разработки, одако тебе ни чего не стоит взять да и написать на нем все, вопрос в затратах на это и в удобстве.

Asm по эффективности стоит первым, с точки срения конечной производительности и оптимальности использваония ресурсов. Однако не нужно забывать что находясь в среде ОП, вы работаете лишь с ее API, а не напрямую с железом, в связи с этим эффективноть падает, но все равно остается самой высокой. Нецелесообразным его использование в чистом виде ввиду долгосрочности разработки, однако, С++ и Delphi можно делать вставки на этом языке. Ведь это все очивидные вещи или нет?

У каждого процессора есть свой набор команд, схема, если хочешь, работы, у каждого процессора разная структура кеш памяти. Могу более подробно рассказть про эти вещи, только правда сказать про x86 процессор.
8.1K
27 июня 2005 года
cupec
33 / / 26.06.2005
Спасибо большое, все, теперь до меня дошло.
Есть еще один вопросик. Возьмем тот же самый сумматор, это код который является ядром программы суммирования (правильно?). Теперь мне нужно написать прогу для разных пользователей, и у каждого будет свой интерфейс, как быть в этом случае? Конечно, приходит мысль как ни будь один раз сохранить это ядро (я конечно не уверен, но может в виде dll?) и много раз использовать во всех остальных программах, или наоборот, написать ядро в exe файле, а в виде dll поставлять UI (может это конечно бред сумасшедшего, я не знаю, просто я только начинаю осваивать программирование, в принципе с синтаксисом С++ я разобрался, и сейчас стоит задача в методике, т.е. – как оформить проект?; как правильно сделать структуру файлов в проекте?; где хранить параметры проекта в ini или в реестре?; какой базой данных лучше пользоваться (ну для склада например) и т.д.)?
3
28 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by unmoved
И так первое когда ты находишся в среде разработки RAD, то ты ООП принципы вообще не используешь, за исключением тех случаев когда тебе самому нужно создать класс, тип, или компонет...


Кто тебе такую глупость сказал?
Значит, если ты пользуешься готовыми словами, вырезанными из газеты, то ты составляешь текст не на русском языке?
Кстати, как ты различаешь класс и тип?

Цитата:
Originally posted by unmoved
Твое программирование будет называться как? - ПОП(процедурно-ориентированое), надеюсь объяснять не нужно по чему?


Объясни, не понимаю.
Если я создаю систему классов, то какая разница как их создаю? Я могу писать их в ручную, могу использовать RAD или т.д.
ООП - это не метод написания кода, это принцип программирования.

Цитата:
Originally posted by unmoved
Поехали дальше. MS Project используется для планирования и расчета, это его основная задача, но ни не ДНЕВНИКА.


Ок. Хорошо, я оговорился. ЕЖЕДНЕВНИК. Так лучше?
А чем планирование отличается от расчета в этом контексте?

Цитата:
Originally posted by unmoved
мат. ядро системы - основная часть любой программы,


Так программы или системы?

Цитата:
Originally posted by unmoved
в которой выполняются математические вычисления.


Что ты подразумеваешь под "математические вычисления"?
А бывают программы без математических вычислений?

Цитата:
Originally posted by unmoved
Для ее написания исползуются зачастую такие языки как С++, Pascal, asm и т.д.


Полнейшая ерунда.
По-твоему получается, что Java работает исключительно в связке с программами на других языках?
Для чего тогда вообще Java?

Цитата:
Originally posted by unmoved
Java может использоваться теоритически, но не используется и редко используется для написания UI,


Какая чушь!
Для чего тогда вообще Java?
Библиотека Swing тоже теоретическая и редкоиспользуемая?

Цитата:
Originally posted by unmoved

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


Давай начнем с того, что UI не обязательно GUI.
Разницу чувствуешь? Но даже если ты подразумевал GUI, и говорил об отсутствии RAD (хотя GUI вполне можно написать и без RAD), то и тут ты ошибся. Посмотри к примеру JavaBuilder.

Цитата:
Originally posted by unmoved

Asm по эффективности стоит первым, с точки срения конечной производительности и оптимальности использваония ресурсов.


Опять неверно. Принцип индукции тут не действует.
Но об этом я уже говорил в этой ветке:
http://forum.codenet.ru/showthread.php?s=&threadid=23184

Цитата:
Originally posted by unmoved

Однако не нужно забывать что находясь в среде ОП,


Какой среде?

Цитата:
Originally posted by unmoved

Нецелесообразным его использование в чистом виде ввиду долгосрочности разработки, однако, С++ и Delphi можно делать вставки на этом языке. Ведь это все очивидные вещи или нет?


Извини, ты вообще имеешь практику программирования?

Цитата:
Originally posted by unmoved

Могу более подробно рассказть про эти вещи, только правда сказать про x86 процессор.


Да нет спасибо, мы и сами с усами.
Кстати, как у тебя с AT&T ? Это к вопросу о "четко знать все режимы и структуру работы конкретного процессора, а так же стеков памяти"

3
28 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by cupec
Возьмем тот же самый сумматор, это код который является ядром программы суммирования (правильно?).


В принципе, правильно.

Цитата:
Originally posted by cupec
Теперь мне нужно написать прогу для разных пользователей, и у каждого будет свой интерфейс, как быть в этом случае? Конечно, приходит мысль как ни будь один раз сохранить это ядро (я конечно не уверен, но может в виде dll?) и много раз использовать во всех остальных программах, или наоборот, написать ядро в exe файле, а в виде dll поставлять UI


Для начала давай опеределимся, в каких случаях целесообразно вообще использовать DLL.
Мое мнение, что использовать их есть смысл, когда нужно расшарить исполняемый код между несколькими приложениями или когда этот исполняемый код опционален, т.е. может использоваться, а может и нет (например, плагины).

Теперь по поводу твоего вопроса. Все зависит от конкретной задачи.
Например, если ты хочешь сделать сумматор с различными видами интерфейсов (а-ля Winamp), тогда есть смысл вынести UI в DLL.
Если же, у тебя есть несколько программ, которым нужен для работы сумматор, то его можно вынести в DLL.
Если же ты хочешь написать просто несколько вариантов программы "сумматор", отличающиеся только интерфейсом, то тебе нет нужды создавать DLL. Можно либо создать статически подлинковываемую библиотеку (.lib), либо вообще включить код сумматора в свой проект.

Цитата:
Originally posted by cupec
(может это конечно бред сумасшедшего, я не знаю, просто я только начинаю осваивать программирование, в принципе с синтаксисом С++ я разобрался, и сейчас стоит задача в методике, т.е. – как оформить проект?; как правильно сделать структуру файлов в проекте?;


Со временем разберешься.
Постарайся, просто, разделять сущности по классам и размещать их в отдельных файлах.

Цитата:
Originally posted by cupec
где хранить параметры проекта в ini или в реестре?;


Это уже вопросы реализации. Все зависит от целей и задач.
Можно воспользоваться такой методикой: сделай как проще и понятнее, а потом, если вдруг не подойдет, можно переделать. Это всяк лучше, чем долго обдумывать все варианты, сделать что-то сложное "на все случаи жизни", а потом окажется, что ты не учел какую-то мелочь и все приходится переделывать.

Цитата:
Originally posted by cupec

какой базой данных лучше пользоваться (ну для склада например) и т.д.)?


Ой, не знаю... :)

8.1K
28 июня 2005 года
cupec
33 / / 26.06.2005
спасибо большое, вроде все понял, вот только с печатью не разобрался, но инет есть, значит разберусь :)
373
28 июня 2005 года
unmoved
216 / / 28.11.2004
Цитата:
Originally posted by Green
Кто тебе такую глупость сказал?
Значит, если ты пользуешься готовыми словами, вырезанными из газеты, то ты составляешь текст не на русском языке?
Кстати, как ты различаешь класс и тип?


Объясни, не понимаю.
Если я создаю систему классов, то какая разница как их создаю? Я могу писать их в ручную, могу использовать RAD или т.д.
ООП - это не метод написания кода, это принцип программирования.


Ок. Хорошо, я оговорился. ЕЖЕДНЕВНИК. Так лучше?
А чем планирование отличается от расчета в этом контексте?


Так программы или системы?


Что ты подразумеваешь под "математические вычисления"?
А бывают программы без математических вычислений?


Полнейшая ерунда.
По-твоему получается, что Java работает исключительно в связке с программами на других языках?
Для чего тогда вообще Java?


Какая чушь!
Для чего тогда вообще Java?
Библиотека Swing тоже теоретическая и редкоиспользуемая?


Давай начнем с того, что UI не обязательно GUI.
Разницу чувствуешь? Но даже если ты подразумевал GUI, и говорил об отсутствии RAD (хотя GUI вполне можно написать и без RAD), то и тут ты ошибся. Посмотри к примеру JavaBuilder.


Опять неверно. Принцип индукции тут не действует.
Но об этом я уже говорил в этой ветке:
http://forum.codenet.ru/showthread.php?s=&threadid=23184


Какой среде?


Извини, ты вообще имеешь практику программирования?


Да нет спасибо, мы и сами с усами.
Кстати, как у тебя с AT&T ? Это к вопросу о "четко знать все режимы и структуру работы конкретного процессора, а так же стеков памяти"



Я так понял, что ты до сих пор не видешь сходств и различий между ООП и ПОП. Если хочешь продолжить дисскусию пиши на [email]unmoved@mail.ru[/email], а мне если честно уже надоело тебя в чем-то переубеждать.

3
28 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by unmoved
Я так понял, что ты до сих пор не видешь сходств и различий между ООП и ПОП.


Я их прекрасно знаю. А вот ты почему то мещаешб в одну кучу совершенно невзаимосвязанные вещи: ООП, RAD, .NET и MFC.

Цитата:
Originally posted by unmoved
Если хочешь продолжить дисскусию пиши на [email]unmoved@mail.ru[/email], а мне если честно уже надоело тебя в чем-то переубеждать.


А меня и не надо ни в чем переубеждать, но и откровенные глупости тоже писать не стоит.

284
29 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
А меня и не надо ни в чем переубеждать, но и откровенные глупости тоже писать не стоит.


Мне показалось, что в этой дискуссии упоминались отнюдь не глупости. Наоборот конструктивный обмен мнениями. Только поменьше критики в адрес друг друга. Да и какая разница, блокнот ли MS Project или дневник?
Как я понял в DLL модули можно помещать лишь функции, т.е. классы и их компоненты туда уже нельзя включить. Все правильно?

3
29 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Как я понял в DLL модули можно помещать лишь функции, т.е. классы и их компоненты туда уже нельзя включить. Все правильно?


Что значит "компоненты класса"? Члены класса?

В DLL можно помещать реализацию методов классов и статические члены. Но IMHO это не очень удобно.

284
30 июня 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Что значит "компоненты класса"? Члены класса?

В DLL можно помещать реализацию методов классов и статические члены. Но IMHO это не очень удобно.


А разве функции не являются компонентами класса?

3
30 июня 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
А разве функции не являются компонентами класса?



У классов нет функций, есть методы и они не компоненты а члены класса.

284
04 июля 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
У классов нет функций, есть методы и они не компоненты а члены класса.


У Подбельского в "Язык Си++" этот вопрос обсуждается, в книге указывается, что терминология ООП недостаточно устоялась. Это было почти 15 лет назад. Вопрос как переводить data member и member functions лично мне не очень интересен. Гораздо более важно, можно ли помещать определение класса и его реализацию в отдельный блок (.dll,.lib), чтобы затем работать с ним (создавать объекты класса, вызывать member functions) без перекомпиляции.
Что такое precompiled headers в VC++?

3
04 июля 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
У Подбельского в "Язык Си++" этот вопрос обсуждается, в книге указывается, что терминология ООП недостаточно устоялась. Это было почти 15 лет назад. Вопрос как переводить data member и member functions лично мне не очень интересен.


Однако у программистов есть сформировавшийся сленг, котого следует придерживаться, если хочешь чтоб тебя понимали сразу.

Цитата:
Originally posted by michael_is_98

Гораздо более важно, можно ли помещать определение класса и его реализацию в отдельный блок (.dll,.lib), чтобы затем работать с ним (создавать объекты класса, вызывать member functions) без перекомпиляции.


На этот вопрос я уже ответил:

Цитата:

В DLL можно помещать реализацию методов классов и статические члены. Но IMHO это не очень удобно.


Определение класса все равно придется писть в заголовочном файле (.h).

Цитата:
Originally posted by michael_is_98
Что такое precompiled headers в VC++?


Для ускорения компиляции неизменяемые заголовочные файлы компилируются один раз. Это настраиваемая опция

284
04 июля 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Однако у программистов есть сформировавшийся сленг, котого следует придерживаться, если хочешь чтоб тебя понимали сразу.


Еще вопрос: зачем используется множественное наследование (производный классс<-базовые классы) или простое наследование (производный классс<-базовый класс), если можно создать класс, у которого в качестве членов будут использоваться указатели на объекты базовых классов?

3
04 июля 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Еще вопрос: зачем используется множественное наследование (производный классс<-базовые классы) или простое наследование (производный классс<-базовый класс), если можно создать класс, у которого в качестве членов будут использоваться указатели на объекты базовых классов?



Это вопрос сложнее, чем кажется на первый взгляд.
Дилема "агрегация или наследование" ни раз обсуждалась. В общем упрощенном случае наследование нужно использовать тогда, когда наследник должен обладать интерфейсом родителя, т.е. ты можешь обращатся с наследником, как с родителем. Для чего это, думаю понятно.
Если же родительские интерфейсы не видны наружу (private и protected наследование), то здесь агрегация в большинстве случаев предпочтительнее.

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

284
06 июля 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Green
Это вопрос сложнее, чем кажется на первый взгляд.
Дилема "агрегация или наследование" ни раз обсуждалась. В общем упрощенном случае наследование нужно использовать тогда, когда наследник должен обладать интерфейсом родителя, т.е. ты можешь обращатся с наследником, как с родителем. Для чего это, думаю понятно.
Если же родительские интерфейсы не видны наружу (private и protected наследование), то здесь агрегация в большинстве случаев предпочтительнее.


Не можешь сказать, где обсуждался этот вопрос. Я сейчас столкнулся с этой проблемой.

351
06 июля 2005 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by michael_is_98
Не можешь сказать, где обсуждался этот вопрос. Я сейчас столкнулся с этой проблемой.



Млин...люди..человеки...читайте Гради Буча от 1995 года. Хоть многие счас на него "гонят" но я считаю это фундаментальный труд в области ООП. Те кто его поняли лишних вопросов не задают :)))

3
06 июля 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by michael_is_98
Не можешь сказать, где обсуждался этот вопрос. Я сейчас столкнулся с этой проблемой.



Точно уже не помню. Поищи поиском на rsdn.ru, например ключом "наследование агрегирование" или "наследование агрегация" (только без кавычек).
Ну и поисковиками можно поискать, в т.ч. и по конференциям.

9.5K
10 июля 2005 года
FRiON
46 / / 10.07.2005
Мда... Про ассемблер это было тупо... Видно что никто из учавствующих в дискуссии не шарит в Асме.

И еще... Я вот никак не пойму тех кто пишет на VB или Java, или еще чем подобном. Мне не понятно то, что многие пишут под MFC. Мне не понять тех кто говорит что Win32 API это сложно... Я просто ошарашен. Я не понимаю тех "программистов" которые хотят попроще. Брызжут слюнями, что они пишут на C++, а сами MSDN не открывали не разу! Я где-то в лет 15 начал писать на API. Моими книгами по C++ были несколько корявых исходников-туториалов от какого-то WATCOM'овского компилятора. А как только у меня появилось SDK, вот тогда-то я и попер! У меня даже и в мыслях не было что может быть проще. Потом я "узнал", что есть что-то более профессиональное, и перешел на Асм. Если вы не разбираетесь в Win32 API, не можете его использовать, значит вы вообще нихрена не понимаете в системе! Я думал людям свойственно хотеть быть лучше, профессиональнее, а они все больше и больше ООП'еют. А потом зубоскалят когда им говорят про Ассемблер, и про то, что кодеру еще и надо знать процессор.
3
10 июля 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by FRiON

А как только у меня появилось SDK, вот тогда-то я и попер!


Еще один бобёр попёр?
(Прошу прощения, у владельца ника, просто это уже становится нарицательным.)

Цитата:
Originally posted by FRiON

Я где-то в лет 15 начал писать на API.


Объясни мне, бестолковому, как можно писать на API? Это же вроде бы интерфейс, а не язык программирования?
Кстати, какой API ты имел в виду?

Цитата:
Originally posted by FRiON

Моими книгами по C++ были несколько корявых исходников-туториалов от какого-то WATCOM'овского компилятора.


Ага, чувствуется...
Но это тебе не помещало по ним познать Вселенную...

Цитата:
Originally posted by FRiON
Мда... Про ассемблер это было тупо... Видно что никто из учавствующих в дискуссии не шарит в Асме.


Да куда уж нам... Кстати, ты о каком ассемблере толкуешь?
Может растолкуешь нам по-умному?

Цитата:
Originally posted by FRiON

И еще... Я вот никак не пойму тех кто пишет на VB или Java, или еще чем подобном.


Трудности в общении?

Цитата:
Originally posted by FRiON

Мне не понятно то, что многие пишут под MFC.


Ну так возьми их исходники или готовые продукты и посмотри, что они пишут.

Цитата:
Originally posted by FRiON

Я не понимаю тех "программистов" которые хотят попроще.


Попроще что? Архитектура, интерфейсы?
Ты когда-нибудь слышал, что "все гениальное просто"? Ну это так, лерическое отступление.

Цитата:
Originally posted by FRiON

Брызжут слюнями, что они пишут на C++, а сами MSDN не открывали не разу!


Ты, наверное, удивишься, но есть множество генеальных программистов в т.я. и на С++, которым MSDN нафиг не сдался, т.к. MSDN C++ не имеет никакого отншения к MSDN.

Цитата:
Originally posted by FRiON

Потом я "узнал", что есть что-то более профессиональное, и перешел на Асм.


:D :D :D
Без комментариев...

Цитата:
Originally posted by FRiON

Если вы не разбираетесь в Win32 API, не можете его использовать, значит вы вообще нихрена не понимаете в системе!


В какой системе? Солнечной?

Цитата:
Originally posted by FRiON

Я думал людям свойственно хотеть быть лучше, профессиональнее, а они все больше и больше ООП'еют.


Что сказать... Отсутствие сомнений - прямой признак отсутствия знаний. (Ну нифига себе, сказанул. Запишу, пока не забыл... :)

Хотел бы заметить, что кое-кто тут с пеной у рта пытаеться разяснить что-то (не понятно что) не имея понятия (или имея, но совершенно изврашенное) как об ООП, так и о программировании в целом.

P.S. Что-то порядком поднадоели "неоперившиеся самородки" с наполеоновскими комплексами и навязчивым идеей мессии. Кстати, по-скромнее надо быть и сыпать фактами не из истории своего полового созревания, а по-существу.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог