Псих
Поставил себе Microsoft Visual Studio 2005.
Вопрос: что перспективней изучать, C++ или C#? В чём принципиальное различие? Какие мысли по этому поводу? =)
Вопрос: что перспективней изучать, C++ или C#? В чём принципиальное различие? Какие мысли по этому поводу? =)
-
-
09.12.2007 в 18:02C# как и билдер заставляет лениться и развращает. и С# - для начала это не самый лучший выбор.
всё сугубо имхо.
-
-
09.12.2007 в 18:07Собираюсь писать в ней. Вот на всякий случай и указал. Я вообще об этих языках мало знаю..
> и С# - для начала это не самый лучший выбор.
Почему?
-
-
09.12.2007 в 19:01Есть некоторые семантические отличия между C# и c++ под VS.
Но в целом если писать под фреймворк то проекти портируемы под любой язык платформы.
Сами C# и С++ схожи.
-
-
09.12.2007 в 19:18Т.е. учи основы, потом все равно прийдется использовать технологии и разные языки совместно.
-
-
09.12.2007 в 19:50-
-
09.12.2007 в 21:13Почему?
вот вам консультация профессионала c#:
Т.е. даже встроенные типы, вроде int, double и тп реализованы с помощью классов
Т.е. любая переменная в C# -- это класс
Начинать писать на C# -- это бред
Без хорошего знания C++ и WinAPI садится за C# -- это становиться быдлокодером
Нужно научится находить ошибки в собственных творениях на Сях, когда разрешена простая работа с памятью, когда неаккуратное обращение с указателями приводит к краху программы )
Т.е. когда для тебя это будет просто и понятно, а так же не будет вызывать никаких сложностей работа с системой -- вот тогда самое время переходить на C#
C# очень мощный в плане хорошей документации и врапперов над API
и вообще, ппкс
-
-
09.12.2007 в 21:19-
-
10.12.2007 в 01:33Мне посоветовали сначала C++ изучать -я и решил последовать совету.. -до сих пор решил, но так и не последовал %)
Вот скоро уже сессия -пора бы за учебу браться))
-
-
10.12.2007 в 01:57итак, по-порядку...
1) типы int, double и др. - это структуры, а не классы (всплывающие подсказки VS вам в помощь)
2) переменные - это переменные (кто не верит - смотрите в CIL)... сама по себе фраза, что любая переменная - это класс, абсурдна (видимо имелся в виду объект)
3) начинать писать на C# - это нормально, если человек собирается дальше применять объектно-ориентированный подход, а вот С++ может привить вредные привычки, присущие структурным языкам
4) ИМХО, С++ в данном случае поможет только тем, что не придется потом заново учить синтаксис... касательно винапи - одной из основ C# является отделение винапи от кода программы непосредственно... и вообще, может я пишу на C# в MONO под Linux, из чего следует вопрос - ну и нах мне винапи???
быдлокодер - это как? типа: "эй! дай компилятор погонять..." ???
5) давайте тогда начинать с асма, может? там еще больше можно наворотить... к слову - использование "небезопасного кода" - личное дело каждого, так как без него вполне можно обойтись (равно как без ref-out параметров)...
имхо - ваш "профессионал c#" плохо читал маны...
-
-
10.12.2007 в 02:23Мощь .Netа в том, что под него можно писать любые программы, компилятор которых совместим с общими правилами написания спецификации для написания компиляторов под .Net. Консольные приложения даже оказываються кроссплатформенными, т.е их даже можно по Линухом запускать, а вот с Виндовыми не повезло, здесь различий много....
Для тех людей, которые впаривают изучать C++. Его изучать не обязательно, если Вам не нужна свермощная производительность и непонятный код...Как бы там ни было скорость не всегда зависит от компилятора, в 80% случаев - это завист от алгоритма программиста и его кривости рук...Все что сделает компилятор, дак это перекодирет Ваш код в ассемблерный с кучей комментов(не для .Net языков). Главное предствалять саму архитектуру компьютера, а для этого сойдет и ассемблер, ибо круче него уж нет точно ничего и с него и нужно начинать, чтоб практиваться в небезопасном программировании...
Если же сравнивать синтаксис языка Си++ и Си Шарп, то второй более предпочтительней и понятней, хотя есть некторые сходства, ибо Си шарп разрабатвался как безопасный язык программирования, который унаследовал кое-что от своего Сишного предка + добавлены новые возможности и конечно же сама библиотека .Net Framework, без которой вся мощь Си Шапного языка казалось бы простой иголкой в сене...)
-
-
10.12.2007 в 03:04Phoenix of Chrome
1. OK, спорить не буду, только назовите хотя бы одно серъезное отличие структуры от класса, кроме того, что структура -- размерный тип, а класс -- ссылочный (в первом случае просто выделяется память для вмещения всех элементов структуры). Спорить о различии безсмысленно, в данном случае можно утрировать
2. Все объекты в .Net представляют собой структуры либо классы, в этом и есть прелесть ООП
3. Хоть одну вредную привычку назови =)
4. WinAPI было приведено в качестве примера, как самая распространенная платформа. Mono, IMHO, пока чересчур убогий проект, чтобы создавать под него что-то серъезное. Реализована скудная поддержка FW 1.1.
Быдлокодерство -- это то, что вытекает из принципов ООП =) Т.е. накидал себе контролов на форму, кнопачгам понаписывал свойств и сидишь довольно слюни пуская, не имея при этом ни малейшего представления о происходящем.
5. Ну, можно и с асма, но это изврат =) С++ -- самый оптимальный язык для начала, проверено не раз и не два. Без использования unmanaged-кода тяжело обойтись даже на FW 3.0 (3.5), не говоря уж о более старых.
По-поводу моего профессионализма я спорить не собираюсь, я не говорю, что я такой уж спец, но 1.5 года использую исключительно C# в своих проектах и пока претензий от начальства по-поводу уровня исполнения не было =)
Далее, к вопросу с чего начинать. Я уже несколько лет сижу на одном форуме и достаточно много туда приходит тех, кто начинает с Билдера, Делфи, в последнее время начали появлятся те, кто начинает с C#. Как можно писать программу (я не имею ввиду WPF-based), не имея представления элементарно о том, какие сообщения посылаются контролам? Это к вопросу о небезопасном коде. Как-то столкнулся с проблемой, когда нужно было на FW 2.0 (может в поздних появилось -- не знаю) запретить вставку из буфера/отмену изменения в TextBox'e. Если Вы мне продемонстрируете, как это можно сделать не используя unmanaged-код, я буду очень признателен и соглашусь, что пожалуй, мне надо пойти почитать маны.
-
-
10.12.2007 в 05:54ref class TextBoxExtended: TextBox
{
public: static int WM_PASTE = 0x0302;
protected: virtual void WndProc(System::Windows::Forms::Message^ m)
{
if (m->Msg == WM_PASTE)
return;
this->WndProc(m);
}
}
Ня? Не ручаюсь что с нуля заработает, пишу помяти, но общую идею вы поняли? )
И никакого что характерно unmanaged.
-
-
10.12.2007 в 06:02=)
-
-
10.12.2007 в 06:34Вы же просили просто для ТехтБоха, а для него вполне корректен мой пример
-
-
10.12.2007 в 06:37-
-
10.12.2007 в 06:40Всякие реализации под nix платформы можно смело расстрелять из крупнокалиберных орудий ибо они не выдерживают никакой критики. Уж лучше там Java Юзать, он изначально на этот сегмент рынка целился.
-
-
10.12.2007 в 07:13БогленПо-поводу перехвата Ctrl+... Только что проверил, работает, ну честное слово -- это было первое, что я пробовал тогда и оно не работало (в KeyDown событии) =) Не мог я столько моск ипать просто так. Ладно, как и обещал ушел курить маны
-
-
10.12.2007 в 08:14-
-
10.12.2007 в 23:121. просто я бы не стал запугивать новичка классами (равно как и структурами), так как реализация типа незаметна пользователю. принципиальных различий в объявлении переменной в С++ и в C# по-моему нет.
2. см п.1
3. пжалста - небезопасный код (кстати, имхо, структуры тоже не есть гут) =)
4. об убогости моно никто не спорит =) данный пример довольно оптимистичен, в том плане, что "представим себе идеальную mono в вакууме и решим, что она хорошо работает". конечно на данный момент на этой ниве джава впереди планеты всей. я имел в виду, что API нужны не обязательно виндовые и не обязательно сразу.
хм, значит быдлокодерство в дальнейшем перерастет в эмокодерство (утирая слезы ковриком от мыши хныкать "я не знаю, почему оно неработаееееет...")
5. я не проверял, что оптимальнее всего, но считается, что изучение С++ лучше начинать с С, а С - с Паскаля и т.д.... вопрос - зачем?
з.ы. ты маны-то все не скуривай!!! мне оставь =) я их курю в свободное от работы время (вот накурюсь и пойду искать другую работу, ибо когда начальнеги полгода решают "переходить нам на 6-й билдер или остаться под 5-м" (в 2007-м году), а про паттерны говорят "нам это, скорее всего, не подойдет", - крыша едет)
-
-
11.12.2007 в 05:420_о, а перед этим пол года в школе блок схемы и темы типа:
Начел;
(пока и равно 0; и меньше 100; и плюс 1)
Начел;
Несецо;
Кончел;
Кончел;
-
-
11.12.2007 в 23:43с++, без вопросов.
-
-
12.12.2007 в 01:22жжошь =)
но у меня в школе паскаль был и по-этому, в моем случае, правильнее было бы сказать:
"для и, каторае теперь будит адын и пока и не станет стом"
-
-
31.12.2007 в 06:28-
-
31.12.2007 в 12:01