Unityって何を作るためのソフトなの??? 今はどんなことができるの?
言葉足らずで申し訳ない!
Unityはゲームエンジンの一つでゲームが作れます!
3Dも2Dも両方いけます!
(2Dは人によっては支援機能が不十分かも)
あれは、ゲームエンジンなんですね! C#のIDEかと思ってました。
確かに、ぱっと見そう見えるかも
純粋にプログラミングの勉強をするためならば
他のゲーム制作系フレームワーク(Pygameとか?)を使ったほうがいいみたいですが
軽ーく勉強してゲームやら映像作品でも作ってみようかな!という方なら
Unityは軽量で習得もそれほど難しくないようです
ゲームエンジンはUnity以外にもいろいろあって、相性もあるので
制限なしに無料で使えるものを試してみるのがいいかもしれません
……って、またゲーム制作に誘ってしまった!
C#で{}でゾーニング(?)するのに慣れすぎて
{}を使わずに段下げでゾーニング(?)する言語が難しく感じる……。
なるほど、勝手にスマホやタブレットだと勘違いしておりました。リナックス系をお使いだったのですね。
お安いノートパソコンというと、クロームブックがよさそうですね。パソコンを始めようと思っている方はぜひご検討ください。そしてプログラミングを楽しみましょう!
リナックスのアプリが使えるようですし、なんかウィンドウズアプリも使えるようになるアプリがあるみたいです。(なんかめっちゃ重くなりそうですが・・・)
HP Probook 4320sという機種のノートパソコンを使っています!!
Ubuntuは、7.04のころから使い続けています!!
Thinkpad X240というノートパソコンを手に入れました。Ubuntu 20.04をいれています
勉強する言語について悩んでいます(T ^ T)
なるほど。たしかにいろんな言語があってどれを勉強していいか迷いますよね。
アテクシが最初に学んだのはHTMLとCSSとjavascriptでしたね。20年くらい前の話なんですけど、インターネットが流行り始めてて、猫も杓子もサイトつくってたような気がします。
HTMLとCSSはプログラミング言語というよりは、マークアップ言語なので(CSSはよくわからない。)、なんとなく雰囲気でわかるんですけど、(かっこいいサイトデザインができなくても)javascriptはプログラミング言語なので、配列とか新しい概念を覚えるのに苦労しましたね。
ウェブサイトやアプリをつくるなら、javascriptを中心にHTMLとCSSをすこしかじっておく感じでいいのではないでしょうか?
スマホアプリをつくりたいなら、アンドロイドならjavaかそこから派生したkotlinで、iphoneならswiftですかね。
AIアプリをつくりたい場合は、上の技術も必要ですが、おそらくサーバー上では、pythonで、AIから引っ張ってきたデータを加工するみたいなことが必要になるかと思うので、そのへんも覚えておく必要があると思います。
ゲームはよくわからないんですけど、C#がよさそうですね。
あと、個人的に気になっているのは、ブロックチェーンまわりのプログラミングですね。イーサリアムで使われているEVMってのがあるんですけど、なかなかとっつきにくい感じがします。仮想通貨全体のシェアとして、イーサリアムは圧倒的なんですけど、処理速度が遅いので、将来性としてはどーなのかなぁと思ったりします。
他にも競合のブロックチェーンがいろいろあるんですけど、元フェイスブックがやっていたディエムっていう仮想通貨で使われる予定だったmoveっていうプログラミング言語があって、これは処理速度が速いらしいですね。これもかなり難しいので、初心者向けではないですし、そもそも日本語の書籍が皆無なんで、とっつきづらいですね。
いちおうrustっていうこれも高速処理言語なんですけど、これと似たような文法らしいので、こっちは日本語書籍があるので、それを学んでから、適当にキンドルあたりで海外のmove本を手に入れて、翻訳AIで翻訳して学ぶのもありかもしれません。
まぁおすすめはだいたいこんな感じですね。
今の開発環境ってDocker上で行われることが多いんだね。難しくてわからん!!!
ひさびさに読み終わった本を紹介していきたいと思います。(ここ数ヶ月ギャンブルにハマってたので、プログラミング関連の勉強があんまり進んでなかったのですが、大負けして、時間ができたので、またプログラミングの勉強をしっかりやるようになりましたw)
上の方でも一度紹介したようなしてないような、そんな感じなんですけど、vscodeの入門書です。エディッタ系ツールの決定版といってもいいんじゃないでしょうか?webよりですけど、拡張すれば、いろんな言語に対応しているようなので、おすすめです。プログラミングはメモ帳でもできないことはないですけど、やっぱりいろいろ機能がついているツールを使ったほうがいいので、最初からこれを使ったほうがいいと思います。学習コストはかかりますが、それを補って余りあるでしょう。
お次はdockerの入門書ですね。dockerなくてもプログラミングはできますし、むしろgitのほうを先に覚えたほうがいいのでは?と思わなくもないのですが、開発環境って自分でそろえると結構手間がかかりますから、dockerでさくっと開発環境を作ってしまったほうが、楽は楽かもしれません。そんなわけで、gitは上のvscode入門書の後半でも基礎はしっかり扱っているので、そこで覚えて、さらに詳しくなりたい場合は、他の書籍やブログなんかを参考にしてみてはいかがでしょうか?
アテクシは数年前から何冊かdocker本を読んでるんですけど、これが一番わかりやすかったですね。いろいろ小難しいことをやりだすと、難解になるみたいですけど、基本的な開発環境をそろえる程度なら、基本書だけでも十分っぽいです。(それはgitも同じですね。)
Javaの勉強をしています。途中でやめてほったらかしにしていたのでw
フラクタル図形を描画するプログラムのソースコードです。
コンパイルはできたのですが、実行時につまずきました。
*エラー: メイン・クラスMandelbrotを検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: Mandelbrot
ここからソースコードです↓
import javax.swing.;
import java.awt.;
import java.awt.image.BufferedImage;
public class Mandelbrot extends JFrame {
private static final int WIDTH = 800;
private static final int HEIGHT = 800;
public Mandelbrot() {
super("Mandelbrot Set");
setSize(WIDTH, HEIGHT);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private int mandelbrot(double x, double y) {
int iterations = 0;
double zx = 0;
double zy = 0;
while (zx * zx + zy * zy < 4 && iterations < 1000) {
double tmp = zx * zx - zy * zy + x;
zy = 2 * zx * zy + y;
zx = tmp;
iterations++;
}
if (iterations == 1000) {
return Color.BLACK.getRGB();
} else {
return Color.getHSBColor(iterations / 200f, 1f, 1f).getRGB();
}
}
public void paint(Graphics g) {
BufferedImage img = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < WIDTH; x++) {
for (int y = 0; y < HEIGHT; y++) {
double cx = (x - WIDTH / 2.0) * 4.0 / WIDTH;
double cy = (y - HEIGHT / 2.0) * 4.0 / WIDTH;
img.setRGB(x, y, mandelbrot(cx, cy));
}
}
g.drawImage(img, 0, 0, this);
}
public static void main(String[] args) {
Mandelbrot m = new Mandelbrot();
m.setVisible(true);
}
}
動きました!!
Chat-GTPで教えてもらったとおりにコードを書いても
うまく動かないことがよくありますw
GPTにプログラムを書かせることが流行ってるみたいですけど、素人がノーコードでアプリを作れるようなものではないみたいですね。
仕事で使う自動化ツールを作るような用途であれば、いっぱんのプログラミング言語よりも、マイクロソフトのパワーアップスのような、ローコード・ノーコードツールを使ったほうが早いかもしれません。(office365にGPTをベースにしたcopilot(マイクロソフトは実際のサービスブランドはこの名称で統一するみたいですね。)を搭載するようですし、エクセルやワードやパワポとの連携もスムーズにいきそうなので、これからは、ITベンダーに外注していた社内ツールを内製化する動きが加速しそうです。)
そういう意味では就職を考えているひきこもりの方はプログラミング職種を目指すのでなければ、一般的なプログラミングよりは、ローコード・ノーコードツールとそれに伴うAIサービスの使い方を学習したほうがコスパはよいと思いますね。(とはいえ、プログラミングの勉強がまったく役に立たないわけではなく、ツールを作るにしても、AIに的確に仕様を伝えるためには、きちんとしたロジックが必要だと思うので、無駄にはならないと思います。そのうち、あんな感じでーみたいなやつでも、ユーザーのデータが大量にAI側に把握されていれば、できの良いツールができそうですけど。そうなったらプログラマーという職種はタイピストと同じように廃業になりますね)
pythonをコンパイルして、高速化できるようになるらしい。
PythonでC/C++に匹敵する実行速度を実現 米MITなどコンパイラ「Codon」開発 (msn.com)
なんかphpもフェイスブックがそういうの作ってたような気がするけど、
https://ne-tabase.com/freelance/1003
独自仕様だったみたいで、本家がjitなるスピードアップ施策をほどこしたみたいで、非推奨になってますね。
というか、PHPってpythonよりめっちゃ速いんですけど・・・。
php10s、python49s、C3.6s、java8s比較すると、圧倒的にpython遅いですね・・・。
phpがけっこう早くなっていることにびっくりする今日このごろです。
といっても、仕組みとしては、コードにアクセスされた時点でコンパイルすることには変わりないみたいですので、(いままでは、コンパイル後のコードを廃棄していたが、8からキャッシュして再利用するようになったらしい)事前コンパイル言語よりは遅いんでしょうけど、それでもjavaに匹敵する速さなのはびっくりですね。
インタプリタ言語は、すぐ動かせて、デバックがしやすいので、開発するときは便利ですよね。一方、事前コンパイルしないので、アプリによっては使用に耐えないことも多そうです。
インタプリタとコンパイルのいいとこどりができるような言語だと学習しやすそうですし、アプリも早く動くので、モチベーションもあがりそうな気がします。
そういう意味ではpythonのコンパイル言語化には期待したいですね。
あとは、やっぱり型をしっかりつけられるようにしてほしいですね。
最新バージョンでは辞書や配列にインポートなしで型指定ができるようになったらしい。
コンパイル言語pythonの仕様がtypescriptみたい型指定もきっちりできるような感じになると書きやすくなりそうな気がしますね。
C++でSiv3D なかなかにいい景色を見せてもらっています!!
ずっと無気力状態だったのですが、また勉強を始めたいと思いますw