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

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
PlutDem
2 / 2 / 0
Регистрация: 23.02.2012
Сообщений: 187
#1

Пересесть с языков высокого уровня на С++ - C++

20.03.2014, 03:07. Просмотров 2260. Ответов 41
Метки нет (Все метки)

Здравствуйте, я ActionScript3 разработчик и в данный момент рассматриваю возможность пересесть на с++ для возможности вести разработку под платформы написанные на этом языке. Я слышал, что с++ неимоверно сложный язык и его нормально не освоить даже за 10 лет. А если планируется использовать его для прикладного программирования несложной бизнес логики? Может и не так страшен черт как его малюют?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 03:07     Пересесть с языков высокого уровня на С++
Посмотрите здесь:
Написание пакетной утилиты ДОС средствами языка высокого уровня C++
Определить самого высокого человека в группе C++
C++ Найти рост самого высокого участника гоночной команды
C++ С++ Программа на Одномерный массив (определить самого высокого мужчину и женщину)
Функции над полями структуры - Поиск самого высокого студента C++
C++ Опишите функцию Lower(G), определяющую фамилию и имя самого высокого мужчины из списка
C++ О целях c++ и других языков
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
30.03.2014, 02:45     Пересесть с языков высокого уровня на С++ #31
Цитата Сообщение от PlutDem Посмотреть сообщение
Подобных знаний хватит только для написания консольного приложения
Ну так купите книгу "С/С++ в задачах и примерах"(небольшая беленькая, её во всех вузах-колледжах спользуют как стартап для изучения азов, автор: Н.Культин). И читайте себе на здоровье, или другие подобные небольшие.
Цитата Сообщение от PlutDem Посмотреть сообщение
После этого нужно будет лишь изучить API
Лишь? Именно в этих платформах и будет собака зарыта, т.к. объём материала для библиотек, например WinApi довольно таки внушительный. Либо как вариант, ну чисто по своему опыту в WinApi - юзать winuser.h файл для поиска нужных WinApi функций. По поводу .NET ничего сказать не могу, как и других библиотек, т.к. дел не имел(только WinAPi и DX), да и безсмысленно, т.к. WinApi оболочка рулит и разруливает(как по мне так это эталон синтаксиса - очень удобно, не зря тысячи сотрудников работало над ней. Да и многие программисты даже опытные говорят что WinApi очень красив. Но WinApi это низкий уровень, а .NET это уже как вектор - т.е. типа шаблона, как по мне так шаблоны в топку, лучше самому кодом написать всё что нужно - удобнее и изучать и исправлять если что.
Dmitriy_M
1341 / 1222 / 112
Регистрация: 20.03.2009
Сообщений: 4,393
Записей в блоге: 11
30.03.2014, 12:13     Пересесть с языков высокого уровня на С++ #32
Цитата Сообщение от PlutDem Посмотреть сообщение
Подобных знаний хватит только для написания консольного приложения
Для этого потребуются классы ввода/вывода, а это значит использование .Net.
Цитата Сообщение от PlutDem Посмотреть сообщение
После этого нужно будет лишь изучить API платформы на которую будем ориентироваться, MONO, .NET или еще что.
Mono это реализация .Net, а значит API у них одинаково.
Цитата Сообщение от Izual Посмотреть сообщение
Лишь? Именно в этих платформах и будет собака зарыта, т.к. объём материала для библиотек, например WinApi довольно таки внушительный. Либо как вариант, ну чисто по своему опыту в WinApi - юзать winuser.h файл для поиска нужных WinApi функций.
В 99 случаях из 100, хватает знаний какого нибудь кроссплатформенного фреймворка того же Qt.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
30.03.2014, 13:13     Пересесть с языков высокого уровня на С++ #33
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
классы ввода/вывода, а это значит использование .Net.
cout/cin ? Зачем .Net ?
Это точно так же как "почему бы не использовать стандартные Си: fopen, fgets" функции вместо тех которые предлагает С++.(стандарт Си остаётся, а вот переносимость С++ функций под сомнением)
Dmitriy_M
1341 / 1222 / 112
Регистрация: 20.03.2009
Сообщений: 4,393
Записей в блоге: 11
30.03.2014, 17:50     Пересесть с языков высокого уровня на С++ #34
Цитата Сообщение от Izual Посмотреть сообщение
cout/cin ? Зачем .Net ?
.Net для C# тоже самое что и стандартная библиотека в C++, а cout/cin стандартная библиотека C++.
Точно так же стандартная библиотека Java, включает куда больше полезных классов.

Цитата Сообщение от Izual Посмотреть сообщение
стандарт Си остаётся, а вот переносимость С++ функций под сомнением
Вот только компиляторы MS поддерживают стандарт лучше C++, нежели Си.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
30.03.2014, 19:43     Пересесть с языков высокого уровня на С++ #35
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
.Net для C#
Ясно

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Java
Только недавно был комент, что МайнКрафт "галимый" получился из за джавы, как большого потребителя формы. А winapi сами вызовы и начинка..

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
стандарт лучше C++
Векторы - Нет. А стандарты изменений функций(например NEW, DEL[]) конешно можно использовать, конверт думаю тоже можно(из С)..
Dmitriy_M
1341 / 1222 / 112
Регистрация: 20.03.2009
Сообщений: 4,393
Записей в блоге: 11
30.03.2014, 20:48     Пересесть с языков высокого уровня на С++ #36
Цитата Сообщение от Izual Посмотреть сообщение
Ясно
Вот и ссылку нашел Base Class Library

Я не говорил, что МайнКрафт "галимый", я говорил что тот тормозит из-за Java на слабеньких машинах.
Почему веб-приложения на мобильных платформах работают медленно там можно почитать про сборщика мусора и как он влияет на производительность.
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
05.04.2014, 17:32     Пересесть с языков высокого уровня на С++ #37
Цитата Сообщение от DrOffset Посмотреть сообщение
Как подтверждение этого я привел в пример серьезную многоплатформенность этой игры.
А какая там "серьезная многоплатформенность"? Для десктопа на тормозной Java написана, а для XBOX и моиблок уже на C++ пришлось переписывать с нуля фактически.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
05.04.2014, 18:05     Пересесть с языков высокого уровня на С++ #38
Цитата Сообщение от kamre Посмотреть сообщение
А какая там "серьезная многоплатформенность"?
Контекст разговора был другим. Речь шла о том стоит ли писать свои велосипеды или использовать готовые подходы. На примере майнкрафта. То, что многие подходы являются компромиссными - не для кого не секрет. И получив в короткий срок многоплатформенный продукт, он заплатил скоростью. Насчет того, что портирование на консоли осуществляла уже даже другая контора, я в курсе. Но опять же в контексте разговора это не играет роли.
Не надо выдирать из контекста фразы.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
05.04.2014, 19:05     Пересесть с языков высокого уровня на С++ #39
Цитата Сообщение от DrOffset Посмотреть сообщение
Контекст разговора был
Так же обсуждалась золотая середина, так что в принципе в тему, т.к. поясняет что нафиг эта джава не нужна и полная кроссплатформенность.
Раз так, тогда какие могут быть действия для создания хотя бы частично кроссплатформенного приложения или хотя бы основного кода просчётов. Ведь по сути различия между платформами наверно будут только в некоторых методах вывода графики... Остальное же должно быть одинаковым, или нет?..
Dmitriy_M
1341 / 1222 / 112
Регистрация: 20.03.2009
Сообщений: 4,393
Записей в блоге: 11
05.04.2014, 19:14     Пересесть с языков высокого уровня на С++ #40
Цитата Сообщение от DrOffset Посмотреть сообщение
И получив в короткий срок многоплатформенный продукт, он заплатил скоростью.
Причем тут многоплатформенность? Готовых кроссплатформенных фреймворков/движков для игр вагон и маленькая тележка.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
05.04.2014, 20:29     Пересесть с языков высокого уровня на С++ #41
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Причем тут многоплатформенность?
Мы же обсуждали, что Java использовали для кроссплатформенности.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2014, 22:28     Пересесть с языков высокого уровня на С++
Еще ссылки по теме:
Программа по изучению языков C++
Несколько языков интерфейса C++ Builder
С++ 4 и 5 поколение языков программирования C++
Стандарты и стили языков программирования C++

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

Или воспользуйтесь поиском по форуму:
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
05.04.2014, 22:28     Пересесть с языков высокого уровня на С++ #42
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Готовых кроссплатформенных фреймворков/движков для игр вагон и маленькая тележка
Да хоть три вагона. Мне привели конкретный пример, мы в рамках него разговаривали.
Если так уж сложно прочитать тему, то я, так и быть, обозначу основное:

Была выдвинута гипотеза, что проще писать все самому, мол так понятнее и лучше.
Были упомянуты игры в старом стиле, которые писались с нуля, под конкретную платформу, обладали определенными недостатками графики (в том числе в силу исторических причин), зато имели "душу", что собственно в них и притягивало. Ну и был упомянут майнкрафт, как пример схожего продукта.
Однако я не совсем с этим согласился. Сказав, что майнкрафт написан быстро (порядка одной-двух недель), но работал сразу на нескольких платформах. Следовательно единственное, что его роднило с теми старыми проектами - это хорошая идея (не будем обсуждать сейчас ценность идеи, этот вопрос отдельный и спорный в силу разности людских вкусов, однако популярность игры нельзя отрицать). Во всем оcтальном же - это обычный современный продукт, написанный в современных условиях с использованием современных инструментов (в частности Java) и библиотек (LWJGL), а видимая простота графики - особая задумка автора.
Поэтому многоплатформенность, к которой вы здесь все придрались не разобравшись, была лишь аргументом в пользу того, что пиши он все с нуля, на системном API, он никогда не получил бы кроссплатформенность даже на двух системах за две недели.

Добавлено через 14 минут
Цитата Сообщение от Izual Посмотреть сообщение
Раз так, тогда какие могут быть действия для создания хотя бы частично кроссплатформенного приложения или хотя бы основного кода просчётов. Ведь по сути различия между платформами наверно будут только в некоторых методах вывода графики
Если речь об играх, то OpenGL сейчас является тем средством, которое позволит писать платформонезависмые игровые приложения. Он поддерживается всеми современными видеокартами, современными ОС и большинством фреймворков и движков (а также большинством мобильных устройств). Так что если уж речь зашла о написании многоплатформенной игры, то OpenGL - однозначный выбор. Однако в Windows с ним серьезно конкурирует DirectX и наверное у DirectX есть определенные преимущества под Windows не только маркетинговые, но и технические. Но это уже отдельная тема.
Внутренняя логика же, как правило, не особо к платформе привязана и действительно, скорее всего, может быть перенесена без проблем.
Yandex
Объявления
05.04.2014, 22:28     Пересесть с языков высокого уровня на С++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru