(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 

Конференция "Micro Focus/Borland"

Обсуждение вопросов, связанных с компанией Micro Focus/Borland, ее продуктами CaliberRM, CaliberRDM, SilkTest, StarTeam, TeamDefine, Together и других.

 
 
Добавить сообщение »

Тема: Обсуждение материала "Сравнение ООП языков: Java, C++, Object Pascal"

Ява - популярный в Интернете язык, c++, возможно, всё ещё самый распространённый язык ООП, а object pascal - язык, используемый фирмой inprise (бывшей borland) внутри delphi. Хотя это и не очевидно, но эти три языка имеют много общего. Цель данной работы - исследовать и сравнить технические аспекты этих трех языков.

Автор:  Михаил Викторович Сухарев Дата: 16.05.2007 11:52
Еще одна мусорная статья, пополнившая и без того загаженный ИНет.
Ответить на сообщение »
 
Автор:  Айрат Дата: 26.01.2007 14:26
Статься не слишком компетентна.
1. Мусорная корзина "Однако компоненты delphi поддерживают идею владельца..." - это не свойство языка, а свойство библиотеки, ничего не мешает в C++ пользоваться тем же подходом. Object Pascal в смысле управления памятью ничем не лучше C++. Кроме того, C++ позволяет программисту создавать собственные схемы выделения памяти, что в ряде случаев позволяет увеличить быстродействие.
2. Позднее связывание (и полиморфизм). То, что автор называет виртуальными конструкторам - это на самом деле вопрос о том, работает ли полиморфизм при вызове виртуального метода из конструктора и деструктора. В С++ - нет, в OP и java - да. А виртуальный конструктор - это возможность создания объекта нужного типа исходя из входных данных во время исполнения программы. Это нужно, например, для реализации сериализации. Виртуальный конструктор - это скорее прием программирования, чем языкова конструкция.
3.Обработка исключений, абзац про C++
"Исключения - объекты специального класса,... " в С++ исключением может быть объект любого типа, хоть int.
Ответить на сообщение »
 
Автор:  zdd Дата: 23.01.2007 17:30
Invader пишет 23.01.2007 16:53:
>zdd пишет 23.01.2007 14:15:
>>Использование статистических методов в Java, как функций в процедурном программирование дает только большие минусы, так никто не делает (разве школьники, но для больших проектов это быстрая не мучительная смерть).
>
>А какие методы Java являются статистическими?
Это был ответ на слова автора статьи
«Среди трех наших языков, только java является чистым ОО языком (как eiffel и smalltalk). На первый взгляд, это кажется положительной идеей. Однако она ведет к тому, что вы используете кучу статических методов и статических данных, что не так уж отличается от использования глобальных функций и данных, за исключением более сложного синтаксиса. По моему мнению, чистые ОО языки дают преимущество новичкам в ООП, потому что программист вынужден использовать (и учить) модель ООП. c++ и object pascal, наоборот, - типичные примеры гибридных языков, которые позволяют программистам использовать при необходимости традиционный подход c или pascal.»
На Java можно писать программу, не создавая своих объектов, вообще не используя ООП. Пример:
public class Program{
public static void main(String[] args){
start();
}

public static void start(){
initData();
connect();
createGUI();
}

public static void initData(){

}
public static void connect(){

}

public static void createGUI(){

}
}

Но так мы далеко не уйдем. Статистические метод – тот же для всего класса, для его вызова не нужна создавать объекты (как в примере). Мы можем вызвать такой метод на прямую «Program.start();».
Ответить на сообщение »
 
Автор:  Invader Дата: 23.01.2007 16:53
zdd пишет 23.01.2007 14:15:
>Использование статистических методов в Java, как функций в процедурном программирование дает только большие минусы, так никто не делает (разве школьники, но для больших проектов это быстрая не мучительная смерть).

А какие методы Java являются статистическими?
Ответить на сообщение »
 
Автор:  zdd Дата: 23.01.2007 14:15
Java - популярный в Интернете язык. Под Интернетом нужно понимать в основном распределенные корпоративные приложения. Так Java абсолютный лидер использования в системах класса ERP, конкурент для Java технология .NET от Microsoft. То что Delphi ориентирован на цшт32, не совсем так, с вервии 8, продукты Delphi ориентированные на .NET. .NET, как и java задумывался как платформа не привязанная к азартной или программной среде, также есть «Delphi под Linux» - Kilyx. Owner в Delphi относится только к визуальным компонентам, а не к ООП в Delphi в целом. Если идет разработка в Delphi приложений по .NET, то тут есть сборщик мусора и все остальное, практически как в Java.
Использование статистических методов в Java, как функций в процедурном программирование дает только большие минусы, так никто не делает (разве школьники, но для больших проектов это быстрая не мучительная смерть). Статистические методы решают ряд других задач (выходит за рамки комментария) и их частое использование говорит о том что сильные стороны ООП слабо используются. Торможение от сборщика мусора и байт кода понятие очень относительное (дело в том, что jvm Hot Spot не интерпретирует байт код, а транслирует его в родной ASM код для конкретного процессора, а потом исполняет). Rtti – в Java поддерживается намного шире, например можно найти и использовать класс, метод по его названию, без особенных трудностей можно строить распределенные приложения (грубо говоря вызывать методы из приложений, которые находятся на другом компьютере в сети, используя например RMI или CORBA).
Цель С++ - мощность, скорость исполнения и большие возможности, но не за счет сложности (в чем собственно сложность, если в ООП, то синтаксис C++ менее громоздкий чем в Object Pascal), нужно писать как и в Object Pascal код по уничтожению объектов (если приложение не под .NET). Что касается визуального программирование (создания GUI), то для С++ есть большое количество библиотек (в том числе можно использовать Delphi VCL в С++ Builder). VCL ориентирована на довольно быстрое решение типичных задач, но в проектах не средних очень часто задачи не типичные, например в Delphi нужно потратить много времени, чтобы в таблице отображать рисунки, загружаемые из Интернета, при этом в таблице должна работать сортировка, скажем, по яркости рисунка (пример утрированный, но в Qt библиотеки для C++, Swing или SWT библиотеках для Java, это решается весьма просто).
Мое мнение, на сегодняшний день Delphi – это просто еще один язык для технологии .NET, (VCL не развивается). Все подходы в реализации приложений диктуются технологией .NET. Разработка экранных форм – это всего лишь этап. Экранные формы должны служить только для отображения объектной логики приложения (эта логика часто должна используется для отображения через веб страницы на серверы, или использоваться другими приложениями по сети). Частая ошибка программистов на Delphi (что в большой степени навязывается самой Delphi) – это реализация логики в классах для графических интерфейсов пользователя (GUI). Такой подход дает некоторые преимущества в маленьких приложениях, но практически не дает возможности быстро расширять или вносить даже небольшие изменения в функциональность приложения.
Ответить на сообщение »
 
Автор:  Alex Дата: 23.01.2007 12:47
По поводу шаблонов и Java все таки мне кажеться не совсем так. Ведь с версии JAVA 2 появилась параметризация, котороя позволяет доопределять типы при создании обьектов.
Ответить на сообщение »
 

Добавить сообщение »

 Распечатать »
 Правила публикации »
   
 Рекомендовать »  
 

Магазин программного обеспечения   WWW.ITSHOP.RU
ESET NOD32 Smart Security - лицензия на 1 год на 3ПК или продление на 20 месяцев, Ключ
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Allround Automation PL/SQL Developer - Annual Service Contract - Single user
ReSharper Ultimate - Commercial annual subscription
DeviceLock Base (базовый компонент) от 1 ПК до 49 ПК
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
СУБД Oracle "с нуля"
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Как мигрировать программу написанную на старом Буилдер 4.52 (1)
Мы поддерживаем старое приложение написанное с использованием С++ Буилдер 5.5 (ЕХЕ) и Буилдер...
 
Создание базы данных в Delphi, без сторонних БД (1)
Уважаемый автор, гуглю уже который день и у Вас как у всех "кидаем.." "даже не создаем проект"...
 
C++ Builder6 & Excel (11)
Доброе время суток! Пишу приложение в C++ Builder6 для формирования файлов Excel. Требуется...
 
Принцип создания плагинов в Delphi (3)
Достали, Эта статья не о плагинах а о подключении dll и возможности использования ресурсов в...
 
QuickREport (40)
Есть приложение скомпилированное в Delphi6. Для построения отчетов я использовал компонеты из...
 
 
 



    
rambler's top100 Rambler's Top100