2 / 2 / 2
Регистрация: 23.02.2012
Сообщений: 208
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте, я ActionScript3 разработчик и в данный момент рассматриваю возможность пересесть на с++ для возможности вести разработку под платформы написанные на этом языке. Я слышал, что с++ неимоверно сложный язык и его нормально не освоить даже за 10 лет. А если планируется использовать его для прикладного программирования несложной бизнес логики? Может и не так страшен черт как его малюют?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2014, 03:07
Ответы с готовыми решениями:

Сравнение производительности ассемблера и языков высокого уровня
Мне задали написать программу сортировки массива из 30000 элементов (размером в слово) пузырьком на...

Макроязык для эмуляции языков высокого уровня.
День добрый всем! Ассемблер позволяет писать максимально компактный и быстрый код, с другой...

Книги, где была показана связь от процессов на уровне электроники до языков программирования высокого уровня?
Доброго времени суток! Посоветуйте, пожалуйста, книги, где была показана связь от процессов на...

Компилируемый язык высокого уровня
Если не там оставил тему, перенесите куда нужно, не нашел более подходящего места. В общем, нужен...

41
2 / 2 / 2
Регистрация: 23.02.2012
Сообщений: 208
23.03.2014, 04:20  [ТС] 21
Author24 — интернет-сервис помощи студентам
Господа, речь идет не о написании графического движка или разработке приложения на голом месте. Под "прикладным" программированием имелось в виду создания бизнес логики, Методы, свойства, классы и интерфейсы - вот и все, что мной использовалось в AS3 для определения, что приложение должно делать.За ввод/вывод и, вообще, обеспечение банкета, отвечала Flash платформа. Поэтому напрямую взаимодействовать с чем то вроде WinAPi и DirectX я не планирую.
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
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 без указания типа переменной?
0
18822 / 9826 / 2401
Регистрация: 30.01.2014
Сообщений: 17,260
23.03.2014, 13:49 23
Цитата Сообщение от Izual Посмотреть сообщение
Далеко ходить не буду, последняя моя тема: (4-ый пост, фраза "опаснее")
Ну это не в тему. Он сделал макетный пример, в котором отсутствуют необходимые проверки. Фраза "опаснее" означала, что шаблон позволит приводить данные в union к тому типу, которого там вообще нет. Если такие проверки добавить, то пример станет не только безопаснее, то и более приятным в использовании. Да и при чем тут union, когда речь шла про vector?
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
23.03.2014, 14:40 24

Не по теме:

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



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

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

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

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

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

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

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

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

Я не говорил, что МайнКрафт "галимый", я говорил что тот тормозит из-за Java на слабеньких машинах.
Почему веб-приложения на мобильных платформах работают медленно там можно почитать про сборщика мусора и как он влияет на производительность.
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
05.04.2014, 17:32 37
Цитата Сообщение от DrOffset Посмотреть сообщение
Как подтверждение этого я привел в пример серьезную многоплатформенность этой игры.
А какая там "серьезная многоплатформенность"? Для десктопа на тормозной Java написана, а для XBOX и моиблок уже на C++ пришлось переписывать с нуля фактически.
0
18822 / 9826 / 2401
Регистрация: 30.01.2014
Сообщений: 17,260
05.04.2014, 18:05 38
Цитата Сообщение от kamre Посмотреть сообщение
А какая там "серьезная многоплатформенность"?
Контекст разговора был другим. Речь шла о том стоит ли писать свои велосипеды или использовать готовые подходы. На примере майнкрафта. То, что многие подходы являются компромиссными - не для кого не секрет. И получив в короткий срок многоплатформенный продукт, он заплатил скоростью. Насчет того, что портирование на консоли осуществляла уже даже другая контора, я в курсе. Но опять же в контексте разговора это не играет роли.
Не надо выдирать из контекста фразы.
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
05.04.2014, 19:05 39
Цитата Сообщение от DrOffset Посмотреть сообщение
Контекст разговора был
Так же обсуждалась золотая середина, так что в принципе в тему, т.к. поясняет что нафиг эта джава не нужна и полная кроссплатформенность.
Раз так, тогда какие могут быть действия для создания хотя бы частично кроссплатформенного приложения или хотя бы основного кода просчётов. Ведь по сути различия между платформами наверно будут только в некоторых методах вывода графики... Остальное же должно быть одинаковым, или нет?..
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
05.04.2014, 19:14 40
Цитата Сообщение от DrOffset Посмотреть сообщение
И получив в короткий срок многоплатформенный продукт, он заплатил скоростью.
Причем тут многоплатформенность? Готовых кроссплатформенных фреймворков/движков для игр вагон и маленькая тележка.
0
05.04.2014, 19:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2014, 19:14
Помогаю со студенческими работами здесь

Программирование на языках высокого уровня
Здравствуйте,уважаемые форумчане, подскажите как решить такую проблему в visual basic?Условия: В...

Ищу Програмиста Высокого уровня!
Нужен Хороший Программист! Необходимо Создание нескольких програм связанные с социальными сетями!...

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

Создать программу на языке высокого уровня
Само задание Условие Построить стягивающее дерево неориентированного графа S методом поиска в...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru