Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Философия программирования > Если знаешь С++...


Автор: Riddik 27.12.2008, 23:50
Если знаешь С++, то всегда можно без проблем перейти на:
 C#,
 D,
 Java,
 PHP.
Или сложности возникнут?

Автор: Dobermann 27.12.2008, 23:55
Ага, и ассемблер тоже!

Автор: ama_kid 28.12.2008, 00:54
Цитата(Riddik @  28.12.2008,  00:50 Найти цитируемый пост)
Или сложности возникнут? 
может возникнуть единственная сложность - полное отсутствие желания переходить на  C#, D, Java, PHP...

Автор: Данкинг 28.12.2008, 00:56
У хорошего программиста сложностей не возникнет вне зависимости от языка перехода.

Автор: Riddik 28.12.2008, 14:42
Насколько сложно владеть и работать одновременно в нескольких различных языках? Много ли таких программистов?

А вопрос именно про эти языки был, потому что у всех у них синтаксис и симентика пхожи на С++, я прав?

Автор: P4oLka 28.12.2008, 15:02
Думаю, что не сложно. Практически все, кто знаком с С, переходят потом на java или другие похожие языки. Проблем лишь в том, чтобы не забывать, на чем пишешь, и в том, что тонкости языка, если на нем долго не писать, забываются и время написания кода увеличивается.

Автор: kemiisto 2.1.2009, 22:45
Цитата(Riddik @  28.12.2008,  12:42 Найти цитируемый пост)
А вопрос именно про эти языки был, потому что у всех у них синтаксис и симентика пхожи на С++, я прав? 

Надеюсь, Вы просто допустили опечатку в слове семантика... smile 
Из приведённых языков, я знаком с C# и Java. Синтаксис этих языков отличен от синтаксиса C++. Все эти языки находятся в рамках методологии  объектно-ориентированного программирования (правда, ни один из них не является чистым, или, если хотите классическим объектно-ориентированным, языком). С++ - гибридный язык (как и Object Pascal). Такие языки появлялись в результате внедрения объектно-ориентированных конструкций в популярные императивные языки (С, Pascal). C#, Java - урезанные (очищенные) языки. Такие языки появились в результате удаления из гибридных языков наиболее опасных (да и попросту ненужных) с объектно-ориентированной точки зрения конструкций.

Синтаксически языки похожи. Прежде всего потому, что простейшие алгоритмические конструкции у всей тройки (С++, C#, Java) заимствованы из С. С простейшими конструкциями проблемы не возникнет, но на большее не надо рассчитывать. И ещё надо учитывать, что на изучения самого языка программирования Вы потратите 2-3 недели, а вот на изучения библиотеки стандартных классов могут уйти месяцы, а то и годы. Собственно в этом и будет состоят основная трудность.

Цитата(Riddik @  28.12.2008,  12:42 Найти цитируемый пост)
Много ли таких программистов?

Думаю, мало.

Автор: Riddik 5.1.2009, 18:57
kemiisto, спасибо за ответ!
Да, конечно, семантика.

А что скажите насчёт сложности?

С++ сложнее перечисленных в это теме  языков?

Автор: unicuum 5.1.2009, 19:35
Цитата(Riddik @  5.1.2009,  18:57 Найти цитируемый пост)
С++ сложнее перечисленных в это теме  языков? 

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

Автор: kemiisto 6.1.2009, 00:58
Цитата(Riddik @  5.1.2009,  16:57 Найти цитируемый пост)
С++ сложнее перечисленных в это теме  языков? 

Сам язык если и сложнее, то несущественно. И как уже сказали
Цитата(unicuum @  5.1.2009,  17:35 Найти цитируемый пост)
Нет, самое фиговое в переходе, то что нужно учить другие библиотеки.

Цитата(ama_kid @  27.12.2008,  22:54 Найти цитируемый пост)
может возникнуть единственная сложность - полное отсутствие желания переходить на  C#, D, Java, PHP... 


А можно чуть конкретнее ситуацию обрисовать? Или так просто, общий интерес проявляете?

Автор: nerezus 7.1.2009, 09:26
Цитата

С++ сложнее перечисленных в это теме  языков? 
 Намного(особенно по сравнению с Java), но сложности с языком - мелочь, по сравнению со сложностью смены фреймворка.

Хотя, судя по вопросу, у тебя этой сложности не будет  smile 

Автор: source777 7.1.2009, 14:56
Цитата(Riddik @  28.12.2008,  14:42 Найти цитируемый пост)
Насколько сложно владеть и работать одновременно в нескольких различных языках? Много ли таких программистов?
100%, любой программист знает несколько языков, и выбирает один из них в зависимости от текущей задачи. И естественно, что в некоторые временные промежутки 1 программист может заниматься несколькими проектами, написанными на абсолютно разных языках...

Автор: Riddik 7.1.2009, 19:41
Цитата(nerezus @  7.1.2009,  09:26 Найти цитируемый пост)
Хотя, судя по вопросу, у тебя этой сложности не будет  


От чего ж так?

Автор: al1ve 9.1.2009, 14:43
а на каком языке сейчас актуально писать программы? (сорри если не в тему)

Автор: kemiisto 9.1.2009, 14:51
Цитата(al1ve @  9.1.2009,  12:43 Найти цитируемый пост)
а на каком языке сейчас актуально писать программы? (сорри если не в тему) 

Не очень конечно в тему... А что конкретно писать хотите?

Автор: al1ve 9.1.2009, 15:29
kemiisto, хочу узнать какой тогда язык изучать :C++, c#, delphi, assembler или pascal ^_^

Автор: source777 9.1.2009, 20:06
Цитата(al1ve @  9.1.2009,  14:43 Найти цитируемый пост)
а на каком языке сейчас актуально писать программы? 
На всех, развитие которых ещё не остановилось.

Цитата(al1ve @  9.1.2009,  15:29 Найти цитируемый пост)
хочу узнать какой тогда язык изучать :C++, c#, delphi, assembler или pascal ^_^ 

Изучи для начала Delphi, С++, C#, потом обращайся, мы тебе ещё десяточек достойных языков подберём.  smile 

Автор: unicuum 9.1.2009, 23:15
Цитата(al1ve @  9.1.2009,  15:29 Найти цитируемый пост)
kemiisto, хочу узнать какой тогда язык изучать :C++, c#, delphi, assembler или pascal ^_^ 

С++ популярен в среде опенсорса. Сейчас для него много кроссплатформенных библиотек. Программы на нём получаются быстрыми и жрут мало ресурсов. В играх и графике он номер один, достаточно сказать, что в PhysX, OpenCASCADE как и во многих других проектах используется именно он. Опять же дровишки пишут на C/С++. Google писали на C++ и вот что вышло.

C# не так быстр, поскольку откомпилированные сборки используются на виртуальных машинах, да и ресурсов пожрётся больше. В целом не так плох, если не считать, что майкрософт любит брать за всё деньги и тут никакой Mono не поможет. Самое фиговое помимо денег, то что у майкрософт помешательство делать несовместимые версии .NET, по этому поводу даже анекдоты есть, в каждой новой версии меняется язык и каркасные (framework) библиотеки.

Delphi стоит изучать только для самообразования. На нём можно делать хорошие проекты, но придётся столкнутся с тем, что он не так распространён со всеми вытекающими последствиями.

Assembler можно изучить самообразования. Программировать современные процессоры трудно, в них слишком много инструкций, а чтобы их использовать нужно быть специалистов. Плюс сейчас помимо CPU появились GPU и PPU, в общем без высокого уровня абстракции становится тяжело.

Pascal - чисто для самообучения.

Судя по подборке языков, я бы ещё Java добавил в этот список.

Автор: kemiisto 9.1.2009, 23:28
Цитата(al1ve @  9.1.2009,  13:29 Найти цитируемый пост)
kemiisto, хочу узнать какой тогда язык изучать :C++, c#, delphi, assembler или pascal ^_^ 

Во-первых, для самообразования или на колбаску поверх хлеба?
Во-вторых, какая конкретно область интересует - веб, игры, десктоп, БД, ...?
В-третьих, под какие платформы ты бы хотел писать ПО - Windows, *nix? А может и то, и другое? 

Автор: baldina 10.1.2009, 00:01
C++ сложный язык, поддерживающий несколько парадигм программирования.
Если ты знаешь С++ хорошо, то, скорее всего, ты знаешь и другие языки.

Однако надо различать понимание того, что написано на каком-нить языке и умение самому написать. Потому что практика нужна. То же и в отношении библиотек.

Автор: unicuum 10.1.2009, 17:21
Цитата(baldina @  10.1.2009,  00:01 Найти цитируемый пост)
C++ сложный язык

Классическое заблуждение, C++ сложен только для тех, кто на нём не пишет, это правило действует для всех языков.

Автор: baldina 10.1.2009, 18:14
 smile unicuum, C++ сложный язык. Наверно нет ни одного другого языка, о котором написано столько разнообразных книг. Я имею в виду сам язык, не библиотеки. С++ имеет множество тонкостей (большая часть которых новичку даже не приходит в голову). Например, безопасность исключений. Например, использование метапрограммирования шаблонов.
С++ выразительный язык. Но это и усложняет коммуникацию человек-код. Меня, например, напрягает, когда я вижу константный метод, не объявленный как const: начинаешь думать, что имел в виду программист. И т.д.

О сложности есть такое изречение: "я знаю ответы на вопросы, которые вам даже не приходят в голову". Так что людям не пишущим на С++ он имхо должен казаться проще, чем есть на самом деле.

Автор: Riddik 11.1.2009, 16:56
baldina
Можете посоветовать инструкции к действию, как стать хорошим программистом С++? Больше в сторону игр тянет.
Буду признателен.

Автор: baldina 11.1.2009, 17:12
Riddik, универсальных рецептов нет.
Видимо надо стать просто хорошим программистом smile
Знания и опыт - книги и практика. Думаю, так.
Считаю имеет смысл изучать
- алгоритмы и структуры данных: как существующие, так и методологии разработки
- соответствующие специальные разделы математики
- различные языки программирования: императивные, функциональные, логические. Чем больше узнаешь про разные подходы, тем лучше.
- не только программирование, но и анализ и проектирование.
относительно С++ имхо полезна книга Страуструпа "Дизайн и эволюция С++" и изучение boost. Но это не на начальном этапе, а как только начнешь чувствовать себя "крутым программером"

Что касается игр - наверно аналитическая геометрия, OpenGL, физика. gamedev.net/ru полезные сайты

ЗЫ: задумался, а я - хороший программист?.. ;)

Автор: Riddik 11.1.2009, 17:21
Цитата(baldina @  11.1.2009,  17:12 Найти цитируемый пост)
задумался, а я - хороший программист?.. ;) 

Рад за вас! )

У меня такая дилемма. Пришлось срочно устроиться на работу. Тут Базы данных, sql восновном.
Хотя планировал совсем другое - капитально сесть за С++. Как теперь совмщать, домой только около 20 попадаю. Теперь неужели ничего не придумать...

Автор: baldina 11.1.2009, 17:24
sql тоже полезно

читать. в метро, за обедом, в туалете (простите)
а писать в остальное свободное время smile

Автор: Riddik 11.1.2009, 17:40
Ну чтож, придётся так и делать)

Автор: Goliaf777 21.1.2009, 15:44
Дайте пожалуста ссылку на описание всех возможностей с лучшей стороны пожуста, а ту блин везде то се,типа есть С# Java и другая бурда(((Такое чуство что все ток на таких и сидят языках...

Добавлено через 9 минут и 45 секунд
Дайте пожалуста ссылку на описание всех возможностей с лучшей стороны пожуста, а ту блин везде то се,типа есть С# Java и другая бурда(((Такое чуство что все ток на таких и сидят языках...

Автор: source777 21.1.2009, 16:15
Цитата(Goliaf777 @  21.1.2009,  15:44 Найти цитируемый пост)
Дайте пожалуста ссылку на описание всех возможностей с лучшей стороны пожуста
А это что за новый язык программирования такой - пожуста?


Цитата(Goliaf777 @  21.1.2009,  15:44 Найти цитируемый пост)
есть С# Java и другая бурда(((Такое чуство что все ток на таких и сидят языках...
ну не все, а всего лишь 80-90% программистов, в другую "бурду" входят Python, Ruby, etc.

Автор: baldina 21.1.2009, 16:15
может C# и Java таки лучше?  smile 

Автор: Goliaf777 21.1.2009, 16:18
Я же говорил smile 

Автор: Torsten 11.2.2009, 20:00
Цитата(ama_kid @  28.12.2008,  00:54 Найти цитируемый пост)
может возникнуть единственная сложность - полное отсутствие желания переходить на  C#, D, Java, PHP...


 smile  smile  smile 
+1 smile

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

Добавлено @ 20:04
Цитата(Goliaf777 @  21.1.2009,  15:44 Найти цитируемый пост)
Дайте пожалуста ссылку на описание всех возможностей с лучшей стороны пожуста, а ту блин везде то се,типа есть С# Java и другая бурда(((Такое чуство что все ток на таких и сидят языках...


Вкратце, у С++ есть все, а даже если этого нет, то это можно сделать. Это та самая золотая серидина, между ассеблером/Си и высокроувроеннвыми языками. Тока конечно и мозги надо иметь, чтобы им пользоватся. Если человек по старинке пишет функци в 200 строк, думают что нужно всегда в определении класса писать в private секции все атрибуты, использует глобальные переменные итд итп (здесь еще несколько тысяч очевидных правил, которые становятся видны только с опытом) - то на этом далеко не уедешь.

Автор: RockClimber 13.2.2009, 17:21
Цитата(unicuum @  9.1.2009,  23:15 Найти цитируемый пост)
Delphi стоит изучать только для самообразования. На нём можно делать хорошие проекты, но придётся столкнутся с тем, что он не так распространён со всеми вытекающими последствиями.

Ну почему, клиент-серверы на нем писать самое то. IDE удобная, компонентов куча, исходники VCL открыты, что еще надо?
P. S. Ща меня забанят за попытку разжигания холивара  smile

Добавлено через 48 секунд
Ну то есть клиентскую часть клиент-сервера, но все же и так поняли...

Автор: ReFLeXive 12.4.2009, 10:01
Я считаю, что чтобы стать хорошим программистом, необходимо прежде всего изучать принципы программирования как таковые (пусть даже на алгоритмическом языке). Ведь существует множество различных языков программмирования и у каждого свои тонкости, свои особенности, круг применения и эффективность в решении той или иной задачи. Владение некими общими знаниями и методами позволит программисту начать писать в принципе на любом языке, будь то С++, С#, Java, Python и другие... И никто не отрицает, что при изучении того или иного языка придется узнать кучу особенностей, правил и всего прочего, чем богат тот или иной язык...
Все сказанное, имхо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)