Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

C# или C++, вот в чем вопрос.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
d1sc0nn3ct



Зарегистрирован: 28.07.2006
Сообщения: 3

СообщениеДобавлено: Пт Июл 28 2006 08:21    Заголовок сообщения: C# или C++, вот в чем вопрос. Ответить с цитатой

Вобщем хочу занятся програмированием, стоит выбор между C# и C++, просветите что выбрать лучше.
После изучения буду создавать приложения по криптографии, 3Д и БД.

Купил тут книженцу по C# и вычснил что код у проги можно сказать открытый, выходит для крипто он не катит вобще. Я хотел бы услышать от бывалых бойцов в чем разница между ними, для чего создан C++ и для чего C#. Какие приложения следуюет создавть точнее подо что они заточены и какие особености.

Заранее Спасибо! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dragner



Зарегистрирован: 27.07.2006
Сообщения: 760
Откуда: Владивосток

СообщениеДобавлено: Пт Июл 28 2006 10:04    Заголовок сообщения: Ответить с цитатой

Я конечно может и не прав, но изучи ассемблер, а потом задай себе вопрос! "Какой язык учить? C# или C++?" Embarassed
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
d1sc0nn3ct



Зарегистрирован: 28.07.2006
Сообщения: 3

СообщениеДобавлено: Пт Июл 28 2006 11:34    Заголовок сообщения: Ответить с цитатой

Цитата:
Я конечно может и не прав, но изучи ассемблер, а потом задай себе вопрос!

И что, я асемблер и так знаю, не в совершенстве конечно но знаю и не раз програмил на нем, и основным языком он не являетса для написания win32 приложений, по этой причине то я и спросил в чем различия у этих версий, дабы опеределить для себя их возможности и направления а так же не выбрать то на чем лучше не програмить 3д и криптографию.
Мое мнение - C# не подходит для криптографии т.к. код после компиляции у него открыт.

А на асаембере я не собираюсь писать проги под win32, и я ника кне могу понять твою фразу, причем тут асемблер, зная хорошо как и что работает в железе уже понятно как работает асемблер и куда он лезет, который к C++ вобще не относитса!

p.s. мое мнение, ты написал бредовую строчку про асемблер которая к теме не относитса.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Пт Июл 28 2006 15:09    Заголовок сообщения: Re: C# или C++, вот в чем вопрос. Ответить с цитатой

d1sc0nn3ct писал(а):
...в чем разница между ними, для чего создан C++ и для чего C#. Какие приложения следуюет создавть точнее подо что они заточены и какие особености....


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

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


с уважением
(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mytilus Galloprovincialis



Зарегистрирован: 30.08.2005
Сообщения: 358
Откуда: откуда все люди родятся

СообщениеДобавлено: Сб Июл 29 2006 03:33    Заголовок сообщения: Ответить с цитатой

2 kolobok0:
Почему "си бемоль", когда там диез нарисован?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Пн Июл 31 2006 11:19    Заголовок сообщения: Ответить с цитатой

Mytilus Galloprovincialis писал(а):
2 kolobok0:
Почему "си бемоль", когда там диез нарисован?


да без разницы... поделка, она и в африке поделка... или по другому..как лошадь коровою не обзывай - всё равно молока не даст...

с уважением
(круглый)
_________________
(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Пн Июл 31 2006 14:08    Заголовок сообщения: Re: C# или C++, вот в чем вопрос. Ответить с цитатой

kolobok0 писал(а):

си плас плас - это язык в который вошли рекомендации сей и как инструментарий позволяющий формализовать ООА.

C++ есть ОО надстройка над Си и ничего больше. Настоящий ООП в Java.
Цитата:

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

Точнее си-диез - есть извращение скопированное с Java, причем взято все самое плохое, например: необязательно обрабатывать исключения. Смысла в его создании не было и нет,... и не будет...
Цитата:

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

Вот если речь идет о многоплатформенности, строгости ООП, и даже оптимизации, стоит обратить внимание на Java. Остановимся подробнее на каждом пункте:
1. Многоплатформенность: Ну типа байткод Java на любой платформе работать будет, а Си/Си++ перекомпилить надо, вероятно с изменениями кода, т.к. некотроы типы данных отличаются на некоторых платформах.
2. Строгость ООП: Ну типа в Java все строго. А в Си++: множественное наследование, необязательно обрабатывать исключения, арифметика указателей и еще много чего, что строгости программам не прибавляет.
3. Оптимизация: Напишем мы программку на Си, чтоб она заработала на процессоре I386, мы ее компилим под проц I386, таким образом она не использует всех преимуществ процессора Pentium4, т.е. надо будет сделать версию для Pentium4. Рассмотрим пример Java. Скомпилированный байткод будет работать как на I386, так и на Pentium4, причем использовать все его расширения.

Резюмируем: микрософт мастдай!!! Джава рулит!!!

Вернемся к криптографии: Не самая лучшая идея использовать для кодирвоания криптоалгоритмов Java или С#, дело даже не в том что код можно восстановить, его в любом случаем можно восстановить, а в том что типы данных этих языков... ну неудобно там побитовые операции делать. Лучше, на мой взгляд, использовать чистый Си.

Теперь БД: Ну типа есть куча драйверов для практически всех СУБД для Java. А в Oraqle вообще можно писать хранимые процедуры на Java.
_________________
Самоловских Виталий aka Kefir
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kolobok0



Зарегистрирован: 22.04.2005
Сообщения: 253
Откуда: Мсква

СообщениеДобавлено: Ср Авг 02 2006 15:07    Заголовок сообщения: Re: C# или C++, вот в чем вопрос. Ответить с цитатой

Kefir писал(а):
C++ есть ОО надстройка над Си и ничего больше. Настоящий ООП в Java.


лозунги - это хорошо...

Цитата:
Точнее си-диез - есть извращение скопированное с Java, причем взято все самое плохое, например: необязательно обрабатывать исключения. Смысла в его создании не было и нет,... и не будет...


по поводу коровы - см. выше. и не только с джавы...ышо с васика. объясняю смысл - завоевание рынка.


Цитата:

Вот если речь идет о многоплатформенности, строгости ООП, и даже оптимизации, стоит обратить внимание на Java.


очень интересно. обычно когда начинают рассказывать о плюсах - такое впечатление, что люди не смотрели что до этого было создано в мире Smile

Цитата:

1. Многоплатформенность: Ну типа байткод Java на любой платформе работать будет, а Си/Си++ перекомпилить надо, вероятно с изменениями кода, т.к. некотроы типы данных отличаются на некоторых платформах.


явно у человека никогда не стояла задачи по оптимизации Явы. увы и ах - это реалии жизни. А посему за время существования этого языка - так основной плюс и НЕ БЫЛ реализован. Пожелания - не бум выдавать за факты ? OK ?


Цитата:

2. Строгость ООП: Ну типа в Java все строго. А в Си++: множественное наследование, необязательно обрабатывать исключения, арифметика указателей и еще много чего, что строгости программам не прибавляет.


можно конечно же отсебятину пороть, но вернёмся к учебнику Гради Буча (надеюсь серьёзность данного труда в ООА и ООП не вызывает у Вас соменния ?) итак...
стр. 118 (второе издание, перевод с англиского)
"наследование - это такое отношение между классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других (множественное наследование) классов."

рекомендую учить матчасть. т.е. ООА
Исходя из этого - С++ ближе к ОО чем си шарп или Ява. Аминь..

Так же добавлю... В ООА НЕТ понятий обработки исключений и работы с указателями. Это плюсы или минусы языка - да, возможно. Но это относиться к ОО как жигули к самолёту...


Цитата:

3. Оптимизация: Напишем мы программку на Си, чтоб она заработала на процессоре I386, мы ее компилим под проц I386, таким образом она не использует всех преимуществ процессора Pentium4, т.е. надо будет сделать версию для Pentium4. Рассмотрим пример Java. Скомпилированный байткод будет работать как на I386, так и на Pentium 4, причем использовать все его расширения.


круто, справедливо...Правда есть одно маленьчкое НО ! Фишка в том, что псевдо код действительно НЕ нужно перекомпилять. А вот создать движок явовский под данную платформу - придёться. Вы можете сказать дескать - он уже существует. И удете правы. Но давайте пристальней взглянем на сам движок... Что это ? Это некий транслятор в машинный код некоего АБСТРАКТНОГО языка. Кхм... Надо заметить язык который АБСТРАКТНЫЙ - универсальный. В этом по идее его должен быть плюс. НО! фишка в том, что любой мало-мальский программист знает, что универсальность (как и оптимизация по скорости, как и оптимизация по размеру) - это не волшебство, это решение чётких задач за счёт (!) чего то другого (!) Вот где собака порылась...А теперь напишим ассемблерный код для AVR микроконтроллера (к примеру) который будет выводить ТОЛЬКО целые размером с байт. И сравним этот код с кодом из любой библиотеки более верхнего уровня - Smile далее надеюсь понятно...


Цитата:
Резюмируем: микрософт мастдай!!! Джава рулит!!!


опять лозунги. наверное это должно быть красиво...или с придыханием произноситься ? честно говоря - возбуждаюсь только на девушек...наверное это мой минус... Smile

Цитата:
Вернемся к криптографии: Не самая лучшая идея использовать для кодирвоания криптоалгоритмов Java или С#, дело даже не в том что код можно восстановить, его в любом случаем можно восстановить, а в том что типы данных этих языков... ну неудобно там побитовые операции делать. Лучше, на мой взгляд, использовать чистый Си.


полная чушь... возьмём например RSA... это где Вы там биты рассмотрели то ?


Цитата:
Теперь БД: Ну типа есть куча драйверов для практически всех СУБД для Java. А в Oraqle вообще можно писать хранимые процедуры на Java.


Оракл пишеться не так уважаемый Smile Oracle - так правильно... Дык он поддерживает и си бимоль и чаво ? А родной язык PL/SQL - вообщето побогаче будет. Хотя смысл писать то, что мона реализовать на SQL оракловом ? Не ну конечно же ради того чтоб было - это наверное круто...но не возбуждает...


с уважением
(круглый)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Ср Авг 09 2006 14:34    Заголовок сообщения: Re: C# или C++, вот в чем вопрос. Ответить с цитатой

Цитата:
Цитата:

1. Многоплатформенность: Ну типа байткод Java на любой платформе работать будет, а Си/Си++ перекомпилить надо, вероятно с изменениями кода, т.к. некотроы типы данных отличаются на некоторых платформах.


явно у человека никогда не стояла задачи по оптимизации Явы. увы и ах - это реалии жизни. А посему за время существования этого языка - так основной плюс и НЕ БЫЛ реализован. Пожелания - не бум выдавать за факты ? OK ?

Да, есть некотрые проблемы (при работе с файловой системой например), но дело обстоит гораздо лучше чем в Си++

Цитата:

Цитата:

2. Строгость ООП: Ну типа в Java все строго. А в Си++: множественное наследование, необязательно обрабатывать исключения, арифметика указателей и еще много чего, что строгости программам не прибавляет.


можно конечно же отсебятину пороть, но вернёмся к учебнику Гради Буча (надеюсь серьёзность данного труда в ООА и ООП не вызывает у Вас соменния ?) итак...
стр. 118 (второе издание, перевод с англиского)
"наследование - это такое отношение между классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других (множественное наследование) классов."

рекомендую учить матчасть. т.е. ООА
Исходя из этого - С++ ближе к ОО чем си шарп или Ява. Аминь..

Так же добавлю... В ООА НЕТ понятий обработки исключений и работы с указателями. Это плюсы или минусы языка - да, возможно. Но это относиться к ОО как жигули к самолёту...

Я не сказал что Си++ необъектноориентированный язык, я сказал что он менее строгий чем Java.
Цитата:

Цитата:

3. Оптимизация: Напишем мы программку на Си, чтоб она заработала на процессоре I386, мы ее компилим под проц I386, таким образом она не использует всех преимуществ процессора Pentium4, т.е. надо будет сделать версию для Pentium4. Рассмотрим пример Java. Скомпилированный байткод будет работать как на I386, так и на Pentium 4, причем использовать все его расширения.


круто, справедливо...Правда есть одно маленьчкое НО ! Фишка в том, что псевдо код действительно НЕ нужно перекомпилять. А вот создать движок явовский под данную платформу - придёться. Вы можете сказать дескать - он уже существует. И удете правы. Но давайте пристальней взглянем на сам движок... Что это ? Это некий транслятор в машинный код некоего АБСТРАКТНОГО языка. Кхм... Надо заметить язык который АБСТРАКТНЫЙ - универсальный. В этом по идее его должен быть плюс. НО! фишка в том, что любой мало-мальский программист знает, что универсальность (как и оптимизация по скорости, как и оптимизация по размеру) - это не волшебство, это решение чётких задач за счёт (!) чего то другого (!) Вот где собака порылась...А теперь напишим ассемблерный код для AVR микроконтроллера (к примеру) который будет выводить ТОЛЬКО целые размером с байт. И сравним этот код с кодом из любой библиотеки более верхнего уровня - Smile далее надеюсь понятно...

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

Цитата:
Цитата:
Вернемся к криптографии: Не самая лучшая идея использовать для кодирвоания криптоалгоритмов Java или С#, дело даже не в том что код можно восстановить, его в любом случаем можно восстановить, а в том что типы данных этих языков... ну неудобно там побитовые операции делать. Лучше, на мой взгляд, использовать чистый Си.



полная чушь... возьмём например RSA... это где Вы там биты рассмотрели то ?

А DES?


Цитата:

Оракл пишеться не так уважаемый Smile Oracle - так правильно... Дык он поддерживает и си бимоль и чаво ? А родной язык PL/SQL - вообщето побогаче будет. Хотя смысл писать то, что мона реализовать на SQL оракловом ? Не ну конечно же ради того чтоб было - это наверное круто...но не возбуждает...

Вот это как раз возбуждает!!!
_________________
Самоловских Виталий aka Kefir
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Ср Авг 09 2006 14:52    Заголовок сообщения: Ответить с цитатой

Да, кстати про RSA, раз уж Вы заговорили...

Как известно криптостойкость алгоритма RSA основана на сложности файторизации целых чисел. Возьмем простой алгоритм Диксона, одним из этапов данного алгоритма является решение СЛАУ над полем классов вычетов по 2. Нет его конечно можно реализовать с использованием целочисленной арифметики, но используя побитовые операции получится гораздо быстрее. Кстати задачи решения СЛАУ возникают и в большинстве других алгоритмов факторизации включая квадратичное решето и решето числового поляю.
_________________
Самоловских Виталий aka Kefir
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...