Форум программистов, компьютерный форум CyberForum.ru

C++ или C#? Что учить первым? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 128, средняя оценка - 4.96
C++ Beginner
0 / 0 / 0
Регистрация: 16.09.2011
Сообщений: 5
17.09.2011, 16:01     C++ или C#? Что учить первым? #1
Привет всем!
Не могу выбрать что учить первым. Хотелось бы выучить язык основательно, и что бы он стал основой для изучения других технологий. C++ говорят что трудный для новичков(знаю Pascal, PHP(немного)). C# легче намного, но потом перейти с него на тот же C++ не получится. Так ли это и что вы лично посоветуете.
Плз писать тем кто уже сталкивался с таким вопросом. Не холиварить!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
20.09.2011, 23:06     C++ или C#? Что учить первым? #61
Цитата Сообщение от Jupiter Посмотреть сообщение
Chelioss, чем вас С++ не устраивает?
Всем устраивает. Просто как я вижу все программисты знают по несколько языков - это раз. Мне интересны разработки под телефоны - это два.
Стоит ли Java учить? С++ я как учил, так и буду дальше учить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 23:12     C++ или C#? Что учить первым? #62
AnyOne697, я не имел ввиду аппаратную платформу, так как переносимость между архитектурами более проблематична, начиная с размера стандартных типов и заканчивая допустимыми операциями.

Отдельные алгоритмы вам вряд ли придётся разрабатывать при смене аппаратной платформы (если вы, конечно, не гонитесь за экзотикой вроде блинной сортировки ). Поддержку конкретных аппаратных расширений - это да. Я вот, например, недавно делал класс матрицы, так математические операции написал при помощи SSE. Если компилируется без SSE, исполняется обычный код. Да элементарно при включении поддержки конкретных процессоров и некоторых уровней оптимизации в опциях компилятора, он генерирует соответствующий код - с поддержкой MMX, SSE, SSE2, SSE3, SSSE3, AMD 3DNow!, 64-bit extensions и так далее.

Я имел ввиду переносимость между программными платформами, ОС, если хотите.

Возьмите Code::Blocks. Под линуксом - он, под виндой - он. И нигде я не жалуюсь на производительность. Или тот же gcc. Что плохого в том, что он есть и для UNIX, и для Windows (в составе либо mingw, либо более тяжелого, но и более функционального cygwin)? Ну, или в конце концов, OpenGL, OpenAL, OpenCV, FreeImage, libz, boost если говорить о библиотеках шаблонов... В конце концов, STL. Что в них плохого? Лучше писать код на DirectX для винды, и на OpenGL, OpenAL и прочих для Linux? А не проще один раз написать с использованием кроссплатформенных библиотек и успокоиться?

Chelioss, C++ не заканчивается на std::cout. Займитесь библиотеками вроде Qt, которые умеют и для Windows, и для Linux, и для смартфонов...

Добавлено через 2 минуты
Цитата Сообщение от Chelioss Посмотреть сообщение
Стоит ли Java учить? С++ я как учил, так и буду дальше учить.
Параллельно будет много путаницы в голове. А так - кто мешает?

Добавлено через 35 секунд
Цитата Сообщение от Chelioss Посмотреть сообщение
Просто как я вижу все программисты знают по несколько языков - это раз.
Ну это по мере надобности. Когда знаешь один, но хорошо - к остальным проще приспособиться, чем когда знаешь много, но по чуть-чуть.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.09.2011, 09:05     C++ или C#? Что учить первым? #63
Цитата Сообщение от Chelioss Посмотреть сообщение
Стоит ли Java учить? С++ я как учил, так и буду дальше учить.
Я начал яву учить в основном из-за того, что стал привыкать к плюсам, что не есть хорошо. И в общем-то до сих пор доволен доволен своим выбором...) Довольно необычный язык, никаких функций там нету, чистое ООП. Пришлось в корне менять свое представление о ООП =)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.09.2011, 09:54     C++ или C#? Что учить первым? #64
diagon, Функций нету? Интересно. А методы класса уже не функции?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Hello
{
    public Hello(String str_)
    {
       str = str_;
    }
    public String getString()
    {
       return str;
    }
    String str;
};
 
public class hello
{
   public static void main(String[] args)
   {
      Hello obj = new Hello("hello");
      System.out.println(obj.getString()); 
   }
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.09.2011, 10:40     C++ или C#? Что учить первым? #65
Цитата Сообщение от ForEveR Посмотреть сообщение
А методы класса уже не функции?
Идеологически все таки нет

AnyOne697, а Вам я бы посоветовал не растекаться мыслью по древу не разобравшись как следует в вопросе.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.09.2011, 10:40     C++ или C#? Что учить первым? #66
Цитата Сообщение от ForEveR Посмотреть сообщение
А методы класса уже не функции?
Не-а. Методы это методы. Функции это функции.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.09.2011, 10:55     C++ или C#? Что учить первым? #67
fasked, Идеологически нет. По сути да.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
22.09.2011, 11:00     C++ или C#? Что учить первым? #68
diagon,

Java
1
2
3
4
5
public class Socket {
  // ...
  private native boolean connectNative(String address, String name)
  // ...
}
C
1
2
3
4
JNIEXPORT jboolean JNICALL CLASS_METHOD(connectNative)(JNIEnv *env, jobject obj, jstring address, jstring name)
{
  // ...
}
да-да, ни разу в жабе нет функций
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.09.2011, 11:16     C++ или C#? Что учить первым? #69
Цитата Сообщение от alex_x_x Посмотреть сообщение
diagon,

Java
1
2
3
4
5
public class Socket {
  // ...
  private native boolean connectNative(String address, String name)
  // ...
}
C
1
2
3
4
JNIEXPORT jboolean JNICALL CLASS_METHOD(connectNative)(JNIEnv *env, jobject obj, jstring address, jstring name)
{
  // ...
}
да-да, ни разу в жабе нет функций
Немного не понял, что вы хотели этим сказать...
Естественно java написана на с, и в ее реализации используются функции. Но программист-то ими пользоваться не может, разве нет? Приведите пример рабочей программы на яве без класса, тогда я вам поверю.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
22.09.2011, 11:35     C++ или C#? Что учить первым? #70
статические методы по сути являются функциями, так как они принадлежат классу, а не объекту, по сути имеют только семантическую привязку
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.09.2011, 11:48     C++ или C#? Что учить первым? #71
Цитата Сообщение от alex_x_x Посмотреть сообщение
статические методы по сути являются функциями, так как они принадлежат классу, а не объекту, по сути имеют только семантическую привязку
Хм... Возможно... Но все-же говоря про функции, я подразумевал структурное программирование в целом(насколько я знаю, ява его не поддерживает, хотя в википедии написано обратное). Даже хелловорлд нельзя написать без класса(зато можно без мейна, даже пример привести могу =) ). И функция не может не быть методом, т.е. не может быть описана вне класса.
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
22.09.2011, 22:30     C++ или C#? Что учить первым? #72
Цитата Сообщение от talis Посмотреть сообщение
Возьмите Code::Blocks. Под линуксом - он, под виндой - он. И нигде я не жалуюсь на производительность. Или тот же gcc. Что плохого в том, что он есть и для UNIX, и для Windows (в составе либо mingw, либо более тяжелого, но и более функционального cygwin)? Ну, или в конце концов, OpenGL, OpenAL, OpenCV, FreeImage, libz, boost если говорить о библиотеках шаблонов... В конце концов, STL. Что в них плохого? Лучше писать код на DirectX для винды, и на OpenGL, OpenAL и прочих для Linux? А не проще один раз написать с использованием кроссплатформенных библиотек и успокоиться?
Производительность, как много в этом слове...
Впрочем, да. Наверное, мои мечты разбились о камни реальности. Тем более, не трогается полиномиальность алгоритма, да и вообще - редко задевается скорость роста сложности программы (разве только в каких-то совсем экзотических случаев). А "константа" Java уже давно съедена производительностью железа (впрочем, на своём LG P990 не особо заметно). Видимо, я немного не прав. Всё же - написать Andorid полностью на ассемблере. Это могут себе позволить только Apple с их единой архитектурой. Поэтому Android всегда будет вторым...
Цитата Сообщение от diagon Посмотреть сообщение
Я начал яву учить в основном из-за того, что стал привыкать к плюсам, что не есть хорошо. И в общем-то до сих пор доволен доволен своим выбором...) Довольно необычный язык, никаких функций там нету, чистое ООП. Пришлось в корне менять свое представление о ООП =)
Почти золотые слова! Всё же методы - идеологически - функция внутри класса с полным доступом. Слово функция присутствует, так что... Пруфа
Зато совсем по другому представлено ООП. Теперь эта парадигма программирования является действительно главной мыслью, в отличии от C++, где она была представлена в практически зарождающемся виде.
Цитата Сообщение от fasked Посмотреть сообщение
AnyOne697, а Вам я бы посоветовал не растекаться мыслью по древу не разобравшись как следует в вопросе.
Собственно, а что я сейчас делаю? Пытаюсь разобраться. Можно, конечно, сидеть за литературой и долго читать, но, я люблю это делать в беседе за чаем =)
Цитата Сообщение от alex_x_x Посмотреть сообщение
статические методы по сути являются функциями, так как они принадлежат классу, а не объекту, по сути имеют только семантическую привязку
Вот оно - почти то, что я имел ввиду. Ну, может и есть какие-то ньюансы... Но что-то мне до них сейчас... Я спать лучше пойду =)

ОК. Пойду теперь подтверждать свои знания у более достоверных источников, чем википедия или пересказ других программистов. Всем спасибо, но теперь я не буду
Цитата Сообщение от fasked Посмотреть сообщение
растекаться мыслью по древу
а пойду разбираться
Цитата Сообщение от fasked Посмотреть сообщение
как следует в вопросе.
Всем спасибо за участие в продуктивном разговоре.
blase
 Аватар для blase
3 / 3 / 0
Регистрация: 18.10.2009
Сообщений: 83
23.09.2011, 00:11     C++ или C#? Что учить первым? #73
пишу в основном на C#, иногда на php, но с недавних пор для решения задачи был вынужден обратится к C++. Мне "пару дней" казалось что этот язык самый сложный в мире, но вскоре сдружился и теперь не считаю его таковым - тут дело практики. Чтобы свыкнутся с С++ - практики нужно больше, чем в случае C#, т.к. на C++ меньше готовых функций(и это даже по своему хорошо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 01:44     C++ или C#? Что учить первым?
Еще ссылки по теме:

C++ Что учить? visual c++ или Borland c++
C++ Подсчитать сумму символов между первым и последним 'z'. Что надо изменить или дополнить?
C++ А что лучше учить С++ или Делфи ?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Luke
37 / 37 / 1
Регистрация: 21.02.2012
Сообщений: 95
10.03.2012, 01:44     C++ или C#? Что учить первым? #74
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
 class Hellow_World
{
public:
static int HELLO();
 
};
 int Hellow_World::HELLO()
{
       printf("%s","Hellow world!");
 return 0;
};
 
Hellow_World H;
это программа без мэйна на С++. скажите линкеру про новую точку входа, задайте явно ему же подсистему и все.
не надо никакого мэйна. Просто один класс, хотя может со статиком не совсем честно, там выше писали про это


/ENTRY:"Hellow_World::HELLO" /SUBSYSTEM:CONSOLE
Yandex
Объявления
10.03.2012, 01:44     C++ или C#? Что учить первым?
Ответ Создать тему
Опции темы

Текущее время: 21:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru