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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
PlutDem
2 / 2 / 0
Регистрация: 23.02.2012
Сообщений: 183
20.03.2014, 03:07     Пересесть с языков высокого уровня на С++ #1
Здравствуйте, я ActionScript3 разработчик и в данный момент рассматриваю возможность пересесть на с++ для возможности вести разработку под платформы написанные на этом языке. Я слышал, что с++ неимоверно сложный язык и его нормально не освоить даже за 10 лет. А если планируется использовать его для прикладного программирования несложной бизнес логики? Может и не так страшен черт как его малюют?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 03:07     Пересесть с языков высокого уровня на С++
Посмотрите здесь:

Стандарты и стили языков программирования C++
Несколько языков интерфейса C++ Builder
C++ С++ Программа на Одномерный массив (определить самого высокого мужчину и женщину)
C++ Опишите функцию Lower(G), определяющую фамилию и имя самого высокого мужчины из списка
Определить самого высокого человека в группе C++
С++ 4 и 5 поколение языков программирования C++
Функции над полями структуры - Поиск самого высокого студента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PlutDem
2 / 2 / 0
Регистрация: 23.02.2012
Сообщений: 183
23.03.2014, 04:20  [ТС]     Пересесть с языков высокого уровня на С++ #21
Господа, речь идет не о написании графического движка или разработке приложения на голом месте. Под "прикладным" программированием имелось в виду создания бизнес логики, Методы, свойства, классы и интерфейсы - вот и все, что мной использовалось в AS3 для определения, что приложение должно делать.За ввод/вывод и, вообще, обеспечение банкета, отвечала Flash платформа. Поэтому напрямую взаимодействовать с чем то вроде WinAPi и DirectX я не планирую.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
23.03.2014, 12:34     Пересесть с языков высокого уровня на С++ #22
Цитата Сообщение от PlutDem Посмотреть сообщение
речь идет не о написании графического движка
Но вы с этим столкнётесь как ни крути. Но мы говорим о более глубоких вещях - самой сути.(так сказать ищем истину)
Цитата Сообщение от PlutDem Посмотреть сообщение
разработке приложения на голом месте
Нет не на голом, раздел С++, мы тут обсуждаем по большей части именно С++ и его usebility.(даже не смотря что мы отклоняемся к философии - но она как была основана на С++, так и выйдет к нему опять, да и в каждом посте именно о С++ вы найдёте философию)
Цитата Сообщение от PlutDem Посмотреть сообщение
имелось в виду создания бизнес логики, Методы, свойства, классы и интерфейсы
Ну значит мы более чем попали в суть темы(даже не зная об этом, говорю за себя).
Цитата Сообщение от PlutDem Посмотреть сообщение
взаимодействовать с чем то вроде WinAPi
Т.е. графической оболочки не будет? Вы что консольное приложение будете писать?

Вернусь к собеседнику)
Цитата Сообщение от DrOffset Посмотреть сообщение
DirectX в WINE в Linux реализуется через OpenGL
Пусть так, я надеюсь что базовые принципы он всё таки реализует(например использование видео или оперативной памяти и других флагов).
Цитата Сообщение от DrOffset Посмотреть сообщение
DirectX существует нормально только под win
Ну значит я не ошибся начав программить в WinApi =)
Цитата Сообщение от DrOffset Посмотреть сообщение
под OS X - есть WINE
Опа, вот это здорово! Тогда вообще про кроссплатформенность забуду.(только лишь частично, т.к. думаю что чрезмерное использование С++ методов всё таки может быть пагубным, как называется "а вдруг", так что Си стандарты как ни крути лучший выбор, но плюсы конешно функционалом расширют и упростят многое, чтоб ну уж совсем термоядерный велосипед не делать)
Цитата Сообщение от DrOffset Посмотреть сообщение
было сделано намеренно
Правильно, многие имеют слабые компы, а игра такого масштаба как minecraft всё таки ресурсоёмкая(Очень!), и не потянула бы большинство слабого железа. Даже при сокращении в половину квадратов в mincecraft думаю что даже сильные компы в некоторых местах очень сильно виснули бы.

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
Давай пруф что-ли
Далеко ходить не буду, последняя моя тема: (4-ый пост, фраза "опаснее")
Можно ли заменить обращение к Union без указания типа переменной?
DrOffset
6786 / 3997 / 917
Регистрация: 30.01.2014
Сообщений: 6,816
23.03.2014, 13:49     Пересесть с языков высокого уровня на С++ #23
Цитата Сообщение от Izual Посмотреть сообщение
Далеко ходить не буду, последняя моя тема: (4-ый пост, фраза "опаснее")
Ну это не в тему. Он сделал макетный пример, в котором отсутствуют необходимые проверки. Фраза "опаснее" означала, что шаблон позволит приводить данные в union к тому типу, которого там вообще нет. Если такие проверки добавить, то пример станет не только безопаснее, то и более приятным в использовании. Да и при чем тут union, когда речь шла про vector?
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
23.03.2014, 14:40     Пересесть с языков высокого уровня на С++ #24

Не по теме:

Цитата Сообщение от DrOffset Посмотреть сообщение
Да и при чем тут union, когда речь шла про vector?
Ну так он же реализовал классами(и как я понимаю вектором), union тут не причём, суть в способе реализации, способ через структуры(коим я воспользуюсь) или же через классы и векторы(о котором и была речь). Может кстати мы уйдём в ту тему, дабы не наводить тут безпорядок(ну по его мнению), а то автор уже своё недовольство высказал, не будем нагнитать обстановку =)



Автор темы, ты кстати странной сравниваеш языки и методы, говоря о связи AS3 и flash, но не отрицая что как ни крути тебе всё равно придётся так же под С++ искать стыковочный узел для формы.(и методы стыковки, а тут уже надо понимать суть чтоб выбрать из того что есть)
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 11
24.03.2014, 11:08     Пересесть с языков высокого уровня на С++ #25
Цитата Сообщение от Izual Посмотреть сообщение
Т.е. графической оболочки не будет? Вы что консольное приложение будете писать?
Службы, сетевые сервисы не являются консольными программами.

Цитата Сообщение от Izual Посмотреть сообщение
Правильно, многие имеют слабые компы, а игра такого масштаба как minecraft всё таки ресурсоёмкая(Очень!)
minecraft тормозит потому что написан на Java. Старый добрый Unreal Tournament 3 нормально шел на Intel Pentium 4.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
24.03.2014, 12:01     Пересесть с языков высокого уровня на С++ #26
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Службы, сетевые сервисы не являются консольными программами.
В смысле не являются? Т.е. exe файла на выходе нет?.. А как тогда? оО
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 11
24.03.2014, 13:50     Пересесть с языков высокого уровня на С++ #27
Цитата Сообщение от Izual Посмотреть сообщение
В смысле не являются? Т.е. exe файла на выходе нет?.. А как тогда? оО
Не все то золото, что блестит. Наличие .exe ни о чем не говорит.
Консольные приложения это как правило приложения с текстовым пользовательским интерфейсом.
Службы и серверы после запуска отвязываются от консоли.
В MS даже отдельный шаблон предусмотрен на ровне с (С/G)UI программой.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
24.03.2014, 14:03     Пересесть с языков высокого уровня на С++ #28
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Службы и серверы после запуска отвязываются от консоли.
Как они могут отвязаться? Ведь разве не командная строка выполняет операции (обращения и т.п. команды). Ну либо, может суть - запустилась программа, запустила поток - поток будет работать, а экзешник гасится?

Добавлено через 1 минуту
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
minecraft тормозит потому что написан на Java
А почему же джаву выбрали? Типа переход к Win8?(он же вроде на джаве?) И почему не Си?..
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 11
24.03.2014, 15:35     Пересесть с языков высокого уровня на С++ #29
Цитата Сообщение от Izual Посмотреть сообщение
Как они могут отвязаться?
В Unix системах есть понятие демонизация(работа в фоновом режиме), аналогичная возможность есть и в Windows.

Цитата Сообщение от Izual Посмотреть сообщение
запустила поток - поток будет работать, а экзешник гасится
Это невозможно. Поток не может выполнятся без процесса.

Цитата Сообщение от Izual Посмотреть сообщение
Ведь разве не командная строка выполняет операции (обращения и т.п. команды).
Любая программа может выполнить любую другую программу без использования коммандной строки.
Цитата Сообщение от Izual Посмотреть сообщение
А почему же джаву выбрали?
Что лучше знают, то и используют.
PlutDem
2 / 2 / 0
Регистрация: 23.02.2012
Сообщений: 183
30.03.2014, 02:14  [ТС]     Пересесть с языков высокого уровня на С++ #30
Для внесения большей ясности, приведу в пример книгу C# 5.0 Pocket Reference. В ней описывается лишь сам C# без привязки к .NET или какой либо другой платформе. Благодаря этому удалось сократить объем материала с обычных, для подобных книг, с 1100 до 220 страниц. Подобных знаний хватит только для написания консольного приложения и бизнес-логики для него, но это именно то, что я и имел в виду. После этого нужно будет лишь изучить API платформы на которую будем ориентироваться, MONO, .NET или еще что.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
30.03.2014, 02:45     Пересесть с языков высокого уровня на С++ #31
Цитата Сообщение от PlutDem Посмотреть сообщение
Подобных знаний хватит только для написания консольного приложения
Ну так купите книгу "С/С++ в задачах и примерах"(небольшая беленькая, её во всех вузах-колледжах спользуют как стартап для изучения азов, автор: Н.Культин). И читайте себе на здоровье, или другие подобные небольшие.
Цитата Сообщение от PlutDem Посмотреть сообщение
После этого нужно будет лишь изучить API
Лишь? Именно в этих платформах и будет собака зарыта, т.к. объём материала для библиотек, например WinApi довольно таки внушительный. Либо как вариант, ну чисто по своему опыту в WinApi - юзать winuser.h файл для поиска нужных WinApi функций. По поводу .NET ничего сказать не могу, как и других библиотек, т.к. дел не имел(только WinAPi и DX), да и безсмысленно, т.к. WinApi оболочка рулит и разруливает(как по мне так это эталон синтаксиса - очень удобно, не зря тысячи сотрудников работало над ней. Да и многие программисты даже опытные говорят что WinApi очень красив. Но WinApi это низкий уровень, а .NET это уже как вектор - т.е. типа шаблона, как по мне так шаблоны в топку, лучше самому кодом написать всё что нужно - удобнее и изучать и исправлять если что.
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 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
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
30.03.2014, 13:13     Пересесть с языков высокого уровня на С++ #33
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
классы ввода/вывода, а это значит использование .Net.
cout/cin ? Зачем .Net ?
Это точно так же как "почему бы не использовать стандартные Си: fopen, fgets" функции вместо тех которые предлагает С++.(стандарт Си остаётся, а вот переносимость С++ функций под сомнением)
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 11
30.03.2014, 17:50     Пересесть с языков высокого уровня на С++ #34
Цитата Сообщение от Izual Посмотреть сообщение
cout/cin ? Зачем .Net ?
.Net для C# тоже самое что и стандартная библиотека в C++, а cout/cin стандартная библиотека C++.
Точно так же стандартная библиотека Java, включает куда больше полезных классов.

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

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

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
стандарт лучше C++
Векторы - Нет. А стандарты изменений функций(например NEW, DEL[]) конешно можно использовать, конверт думаю тоже можно(из С)..
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 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
6786 / 3997 / 917
Регистрация: 30.01.2014
Сообщений: 6,816
05.04.2014, 18:05     Пересесть с языков высокого уровня на С++ #38
Цитата Сообщение от kamre Посмотреть сообщение
А какая там "серьезная многоплатформенность"?
Контекст разговора был другим. Речь шла о том стоит ли писать свои велосипеды или использовать готовые подходы. На примере майнкрафта. То, что многие подходы являются компромиссными - не для кого не секрет. И получив в короткий срок многоплатформенный продукт, он заплатил скоростью. Насчет того, что портирование на консоли осуществляла уже даже другая контора, я в курсе. Но опять же в контексте разговора это не играет роли.
Не надо выдирать из контекста фразы.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
05.04.2014, 19:05     Пересесть с языков высокого уровня на С++ #39
Цитата Сообщение от DrOffset Посмотреть сообщение
Контекст разговора был
Так же обсуждалась золотая середина, так что в принципе в тему, т.к. поясняет что нафиг эта джава не нужна и полная кроссплатформенность.
Раз так, тогда какие могут быть действия для создания хотя бы частично кроссплатформенного приложения или хотя бы основного кода просчётов. Ведь по сути различия между платформами наверно будут только в некоторых методах вывода графики... Остальное же должно быть одинаковым, или нет?..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2014, 19:14     Пересесть с языков высокого уровня на С++
Еще ссылки по теме:

C++ О целях c++ и других языков
C++ Найти рост самого высокого участника гоночной команды
Написание пакетной утилиты ДОС средствами языка высокого уровня C++
Программа по изучению языков C++

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

Или воспользуйтесь поиском по форуму:
Dmitriy_M
1307 / 1188 / 109
Регистрация: 20.03.2009
Сообщений: 4,259
Записей в блоге: 11
05.04.2014, 19:14     Пересесть с языков высокого уровня на С++ #40
Цитата Сообщение от DrOffset Посмотреть сообщение
И получив в короткий срок многоплатформенный продукт, он заплатил скоростью.
Причем тут многоплатформенность? Готовых кроссплатформенных фреймворков/движков для игр вагон и маленькая тележка.
Yandex
Объявления
05.04.2014, 19:14     Пересесть с языков высокого уровня на С++
Ответ Создать тему
Опции темы

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