アプリ版:「スタンプのみでお礼する」機能のリリースについて

HSPという言語とは違うでしょうがそれを使っています
本当に最低限でほとんど変数と条件式ばかりで言語やパソコンに対して何も理解できていません
それでもゲームは作れるのはわかっていますがもっと深く知りたいです
知識を深めるには何の言語を使うのがいいでしょうか?
基本ゲームですがゲームを作るツールやらメモリ管理やらちゃんと自分で管理できるくらいにはなりたいです
c#はcとは別物とかさっき調べてわかりましたが
色々あり過ぎてわかりません
よくある定番のc++などが良いのでしょうか?

A 回答 (4件)

もし、プログラミングの基礎や計算機の仕組みといったレベルの


基礎の基礎を勉強したいなら
Cやc++は最悪です。

個人的には最初は同じc系のpythonを勧めます。
最初に学ぶべきことがBASIC並に少ない一方、
かなり大規模なプログラミングにも使えます。

ゲームには向きません。

DirextXとかを直に操るようなことをしたいなら
ゴールはc++でしょうけど、最初からc++では
玉砕必須でしょう。
    • good
    • 0

C言語とC++とC#の違いは色々細かいところを端折った説明になりますが以下の様な感じです。



■C言語
一番古いです。C系と言われる言語の元祖です。
適切にプログラミングすれば高速で軽量な動作が期待できます。
また、インラインアセンブリなどを駆使すればOSのカーネルやブートローダーを含めて全てのプログラムをC言語だけで作り上げることができます。

■C++
C言語にオブジェクト指向の概念を持ち込んだ言語です。
C言語に引けを取らない高速で軽量な動作が可能です。

■C#
C++のうち危険な機能(ポインタ等)を削除や特定の手順を取らなければ使えなくし、メモリ管理の近代化(ガーベージコレクション等)、セキュリティ周りの近代化(境界チェック等)、コンパイラ最適化機能の近代化、JITコンパイル、ライブラリの近代化等、様々な近代化を行った言語です。
C言語やC++に比べて最高パフォーマンスではやや劣りますが、大抵のプログラマにとってC#のパフォーマンスを超える事は簡単ではありません。

C言語や「Cでプログラミングするには人生は短すぎる」という標語が掲げられる様に、C言語やC++の様な全てはプログラマ次第という言語を使いこなし適切にプログラミングする事は、一流のアスリートになるのに匹敵するほど難しい事です。

またC#の様に近代化された言語はたくさんありますが、C#をお勧めする理由は以下の様な所にあります。

・C#は配布方法としてJITコンパイル、AOTコンパイルを選ぶことができます
→多くの近代化された言語はJITコンパイルの前提であることが多いです。JITコンパイルは適切に機能すればよいパフォーマンスが得れますが、アプリケーションを実行するコンピュータ(PC、スマフォ、ゲーム機等)の性能次第では起動しないという事態を引き起こす場合があります。
・対応OS、対応ハードが多い
→Windows、macOS、Android、iOS、Xobx、PS4、Nintendo Switch、Linux、FreeBSD、NetBSD、OpenBSD等の開発が行え殆どのソースコードを異なるOS、ハード間で共有できます。
・ゲーム、VR開発が容易
→Unityの様な強力なゲームエンジンがスクリプト言語としてC#を採用しています
・言語としてのパフォーマンスが良い
→比較対象としてよく上がるJavaと比べて言語仕様レベルでパフォーマンスが良くなるように意識した設計がなされています。
・開発環境が強力
→最強の開発環境とされるVisual Studioが標準で使用できます。また2番目とされるEclipseも使用できます。特にVisual Studioが標準で使用できる近代的な言語はC#、Visual Basic.NETの2つしかありません。

一方でC#にも厄介な点がいくつかあります。

・標準のGUI部品が扱いにくい
→C#のというより.NETの標準GUI部品は痒い所に手が届きにくいです。それ、処理を始める前に知らせてくれたら対処のしようがあるのに処理が終わって失敗してからしか知らせてくれない事がよくあります。
 Windows Formsは表示が強烈に遅いです。すぐ真っ白になったり表示が乱れたりします。
 WPFで表示が遅い問題は解決しましたが、ゲーム並みに本気の画像の拡大縮小、アンチエイリアス、ClearTypeが施された状態で出力されます。表示はとてもきれいです…が…(最近のコンピュータならそれほど問題にはなりませんが)完璧すぎてちと重いです。
・標準ライブラリがちょっとおせっかい
→安定性を考えれば後始末は完璧の方が良いのだけど、前提条件があって後回しにして一括処理しても良い事まできれいに処理されて結果が変えてくる事や、エラーで返しても良いものをエスパーの如く使い手の気持ちを読み取っていい様に処理されると言う事が時々あります。
    • good
    • 0

初心者が勉強がてら覚えるってことなら、C#は良い選択肢だと思います。

普通にいろいろ作れるし変に玄人向けじゃないし。

C++は、初心者が最初に選ぶ言語としてはハードルが高過ぎるのでオススメしません。それにメモリ管理をプログラマ自身が行わなければならない言語(C,C++がその代表)は厄介なメモリリークを起こす危険性があり、そもそも新しい言語ではメモリ管理が自動化される傾向にあります。
    • good
    • 0

私自身はやってませんけど、Unityなんかは書店で見かけますね。


UnityのC#の質問も見かけますし。
一度覗いてみて(実際に弄ってみる?)は如何でしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!