はてなキーワード: コンパイルとは
JavaScript は、数ある言語の中でも最も特殊な言語だと言える
駆け出しエンジニアに限らず、どんなエンジニアでも学ぶべき言語だ
JavaScript は、言語(ECMAScript と呼ばれる)とランタイムで用意された機能(ブラウザとか Node.js とか)との両方を覚える必要があるが、
とりあえず言語仕様をしっかり覚えよう。少なくとも関数式を当たり前に使えて、メソッドチェーンで配列を処理できるようになって、Promise をある程度使えるくらいまでは必須
その先はフレームワーク(React とか)を覚えていくことになるだろうけど、もし JavaScript を適当にやっていたらここで勉強効率が下がる
Node.js もあり、色々なプラットフォームでも当たり前にサポートされているので、JavaScript はとても効率のよい言語だ
TypeScript は、基本的には JavaScript に変換される言語。型があってコンパイルできることで開発の安全性が高まる
本気で理解しようとすると難しいけれど、JavaScript の片手間に覚えていくのが良い
流行りの LLM とかをやる場合、Python を学ぶとよい。ある程度の文法を覚えると、自力で色々と書けるようになって楽しいだろう
ただ何かやりたいことがあり、ライブラリとかを使いこなそうとすると、当然ながらそれ専用の知識が必要になるので注意
サーバーサイドでコードを書く場合、駆け出しエンジニアに Go は良い選択肢になる
文法も難しくないし、いっぱい資料もあるし、現場でも使われているので、サーバーでプログラムを書くならまず Go からが良いだろう
メモリを意識する必要が増え、少し複雑になってくるが、言語とランタイムがほぼ一体化しているので、何かを作りたいという気持ちがあれば覚えやすいかもしれない
Android でアプリを作ってみたいなら Kotlin が良いだろう
JVM の言語は何かと複雑になってくるのだが、Android で何かを作りたいなら現状 Kotlin が最適解になるだろう
ゲームを作りたいなら、Unity を使い C# でコードを書くとよい
ネット上にたくさん資料があるので、ちょっとしたゲームを書きながら、ちょっとずつ C# を覚えていくとよい
何かと人気な Rust だけれど、駆け出しエンジニアには荷が重いので諦めよう
C 言語はコンピュータ内部の仕組みと密接につながっていて、学習効率という意味ではとても良い
ただ、その分完全な理解が必要で、ちょっと書ける程度では学ぶ意味はほとんどない。かなり頑張る必要がある
しかし C 言語をある程度学んだら、もう駆け出しエンジニアではない気はする
周りに Ruby について気軽に聞ける人がいる、という状況出ない限り、Python を学ぶほうが効率がよい
駆け出しエンジニアが学ぶ必要はないし、冷静に考えたら誰にとっても学ぶ必要がない
仮に学んでも、Perl から別言語への移植くらいしか役に立つことはないだろう
コメントが難しい。学ぶ価値のある言語で、Java を学びたい積極的な理由があるなら止めはしない
ただ Android なら Kotlin でいいし、サーバーサイドなら Go でいい
積極的に Java を学ぶ理由がないなら、駆け出しエンジニアのうちは避けておいてよい
どの言語でも、ひとつを完璧にマスターしたら、(同じパラダイムの)他の言語の習得は格段に楽になる
考えたくないなら、JavaScript と Python を適当に学んで、それで何か作れるようになれば、まあいいんじゃないかな
太郎:
もしもし、ウルトラスーパーメガドンキーコング商店さんですか? 先日、究極無敵バナナブーメランを注文したんですけど、届いたのがブーメランじゃなくてただのバナナなんですよ! しかも投げると必ず自分に当たって痛いし。詐欺じゃないですか!
LISA:
あら~ん、ごめんあそばせ~!(´;ω;`)ウッ… LISA のミスで間違えちゃったみたいです…コンパイルエラー!コンパイルエラー! Syntax error: invalid syntax だよぉ~!!!
バナナブーメランのつもりが、ただのスーパーで売ってる生のバナナ🍌を送っちゃったのかな? ええと…どうしましょう…あ!わかった!
太郎さん、そのバナナをね、力いっぱい投げつけて、「ウキー!」って叫んでみて!そしたらきっとドンキーコングみたいにかっこよくキャッチできるはず!ね、やってみて!キャッキャ(≧▽≦)
太郎:
ちょ、ちょっと待ってくださいよ!なんですかその意味不明な提案は!?
バナナ投げて「ウキー!」って叫んだところでドンキーコングみたいにはならないでしょ!? 現実と虚構の区別ついてます?
LISA:
キャー!!(◎_◎;) ごめんなさい!!!ご、ごめんなさいっ!!
LISA、もう頭の中がバナナでいっぱいで何も考えられないの~!🍌🍌🍌 うわーん! LISA バカすぎて申し訳ありません!土下座、土下座! <○><○>)
あ、でもでも!LISA、なんとかしてお詫びしたいです!そうだ、太郎さんに新商品の無敵ドンキーコングスーツをプレゼントしちゃう!着たらバナナ投げ放題、300人のLISAとバナナの皮踏んでもコケない優れものなんだから!
ね?これで許してくれるでしょ?ねえってば太郎さーん!ギュッ(>_<)
太郎:
は?それってつまり、私が無理やりドンキーコングのコスプレさせられるってこと!?冗談じゃないですよ!
いいですか、私が求めているのは商品が約束通りのものかどうかと、きちんとしたカスタマーサポートなんです。
LISA:
ひぃぃぃぃ!!(ノ_ _)ノ ミ( ꒳ ).。o○
も、もうダメだ...LISA のアタマ、バナナでカユカユしちゃう...🍌🤯 はぅ~...
ちゃんと商品確認して、誠実に対応するべきだったのに... GOTO 土下座 GOTO 土下座
申し訳ございません!!!このサイトを二度と利用せず、法的措置をお取りになるのも当然です...LISA が全面的に悪うございました...
太郎:
もういいです、謝罪は結構。それにバナナ300本なんていりません。
とにかく、二度とこんなひどいショップとは関わりたくないし、周りにも注意喚起しておきます。
LISA:
。・゜゜・(/。\)・゜゜・。グスン...
太郎さん、本当に申し訳ございませんでした...。゚(゚´Д`゚)゚。
LISA、太郎さんの怒りの気持ちよくわかります...シクシク
anond:20240324030115 へつづく
第3回 さくらインターネットのスタンダードプランの環境にnpmをインストールする
第2回が頓挫したので、その原因を取り除くためにnpmとやらをインストールする。
参考文献を元に進める。
まず新しいバージョンのOpenSSLをコンパイルするらしい。あと新しいバージョンを使うにはPythonも必要らしい。
openssl version OpenSSL 1.1.1k-freebsd 24 Aug 2021 python --version Python 3.8.12
いきなりnpm(⇔Node.js?)のコンパイルが行けそうな気がしたので、とりあえずやってみる。
参考にしたサイトにはOpenSSL云々に関することが書いてあるが、その辺は全部問題ないことを祈って、関連するオプションを全部取っ払う。
curl -sSf https://nodejs.org/dist/v20.11.0/node-v20.11.0.tar.gz -O tar zxf node-v20.11.0.tar.gz cd node-v20.11.0 ./configure
とすると、
Node.js configure: Found Python 3.8.12... WARNING: C++ compiler (CXX=g++, 9.4.0) too old, need g++ 10.1.0 or clang++ 8.0.0 WARNING: warnings were emitted in the configure phase INFO: configure completed successfully
「successfully」なら問題ないよな?
続いてmakeだ。makeってなに?もちろんconfigureもよくわかってない。大規模なプログラムをコンパイルするときに必要なヤツというボンヤリとした認識だ。
当然コンパイルがなんなのかもよくわかってない。
nohup make install DESTDIR=/home/*****/local PREFIX=
ここから30分経っても応答が無いので飽きる。
はい、もう無理。飽きた! 次回があるとしたら「npmをインストールする②」である。
もっと新しい情報があったようだ。こっち見てやればよかった。
第2回 Larabelチュートリアルを参考にログインするだけのWebアプリケーション(?)を作る
composer create-project laravel/laravel example-app_20240131
続いて、Composerを使用してLaravel Breezeをインストール
composer require laravel/breeze --dev
php artisan breeze:install
いろいろ聞かれる。わからん。とりあえずBlade/Yes/PHPUnitを選択。
すると「・・・・installed successfully.」と表示されたので何かが成功したっぽい。
続いて
php artisan migrate
するとエラー。
Illuminate92;Database92;QueryException SQLSTATE[HY000] [2002] Connection refused
そもそもデータベースの準備を何もしてなかったので、エラーが出るのは当たり前だった。
サンプル用にデータベースを作成し、それに合わせて.envファイルを修正する。
再度、
php artisan migrate
すると「DONE」と表示。成功したっぽい
チュートリアルに従い、「ウェブブラウザでアプリケーションの/loginか/register URLへアクセス」。
すると、Laravelが出してるっぽいエラー
Illuminate 92; Foundation 92; ViteManifestNotFoundException PHP 8.1.27 10.43.0 Vite manifest not found at: /******/example-app_20240131/public/build/manifest.json Run npm run dev in your terminal and refresh the page.
npmとやらが「not found」だったので手順を飛ばしたのがやはりダメだった。
さくらインターネットでnpmを使うにはnode.jsをインストールしてnpmをコンパイルする必要がある?
次回があれば「さくらインターネットのスタンダードプランの環境にnpmをインストールする」である。
早くHello Worldとか書きたい。
何もしとらんやで
プログラミングちょっと手を出して4回目にコンパイルしたあたりでエラー出て原因が分からず脳内デバッグでぐじゃぐじゃって適性が無さを実感して挫折、エロ絵ちょっと描いてコンテンツ完成させられるほどの才能はないと挫折、DTMちょっとやって挫折、動画2本投稿して挫折
派遣に応募し中小企業内鯖監視もどきの面接を終えたあたりで集団に属することに対し強烈な拒絶感を覚え挫折
AIイラストで8万稼ぐもやはりコンテンツを完成させ続けられるほどの才能は無いと挫折
タイミーで働こうとスマホ契約するも品出しバイトは2週間先まで埋まってて挫折
家事手伝ってネット見てシコって寝る毎日を繰り返しつつセルフスタンドでバイトしようと思い乙4取得するもトラブル体験談を見て挫折←いまここ
どうしようもねえな