「TypeScript」を含む日記 RSS

はてなキーワード: TypeScriptとは

2020-07-07

プログラミングスクールなんか行かなくていいからこれやれ

いちいち行かなくていい。高いわりに役に立たない。本を買ったりネット解説動画を見ながら自分でやるんだ。

毎日勉強できるならカリキュラムはこう。大事なのは「わかんなかったら自分で調べる」ということ。これをひとつひとつ解説していくとあっという間に1年ぐらいのカリキュラムになって金がかかるようになる。ググれば全部出てくる。出てこなかったら調べ方が悪いのでググりかたを変えればおk。この記事にも初心者から見ると「なにその言葉。初耳」っていうのがあると思うけど、全部重要キーワードなのでググって咀嚼して血肉としてほしい。ググればすぐ出てくる。

1日目: Linuxインストール(Linuxの中でもUbuntuっていうのがおすすめ)

とりあえずLinux自分パソコンインストールする。Linuxを触れるようになればいい。

PCがない場合は、中古PCなんて3万ぐらいで買えるからそれ買ってきてインストールする。ヘボくていい。コードは書ける。あとで知識ついてきたり会社入って同僚に聞くなりして高いの買えばいい。インストールのしかたはググれ。

なんでLinuxかいうよくわからんものを使うのかっていうと、ネット世界Linuxが大半だから。みんな知ってて共通認識から。嘘じゃないよ。

MacWindowsダメです。Linuxインストールするべし。パソコン買うの嫌ならデュアルブートすればいい。やり方はググれば無限に出てくる。詰まってもなんとか解決できる。1日もある。

それでLinuxターミナル上でcdとかmvとか基本的コマンドを覚える。CLI/CUIとか言われてる。基本的コマンドはググればおk

Macダメですか?」っていうのは「MacUNIXだよ」っていうのだけ理解できてれば別にいいけど、Linuxとは全然違う。そのへん自己解決できる自信がすごくあるなら別にいいんじゃない

2日目/3日目: VimPythonを使う。Pythonチュートリアルの本買ってきて読む(2000円弱)

Vimの使い方を覚える。これは2時間ぐらいあれば慣れるはず。ネットで「Vim 使い方」でググればおkLinuxインストールスムーズに進んでればここは1日目になる。

3日目で終わらせる。途中で意味がわからなくて詰まっても、わからないところはメモしてとにかく進むべし。終わらせることを優先。Pythonは書きやすいので比較簡単

Vimが嫌でもやる。IDEかいうのでやるのはまだ早い。Vim使ってりゃLinuxコマンドも同時に覚えるのでオススメだし、Vim系は一生つきまとうので今のうちに消化すべし

「たったこれだけの間違いなのに動かないのか……」を死ぬほど体験して「コンピュータとはそういうもの」という思考になるべし

挫折する必要はない。初めてチャリ乗ったときと同じでコケまくってるだけなので必要以上にメンタルを気にしないこと。挫折するな

4日目: HTML/CSSをやる

MDNっていうところで、HTML/CSSガイドを一通りやる。わからない用語バカスカ出てくるけどググればわかるようになる。

わかんなくてもメモしてどんどん次。MDNが気に入らなければ他にもいっぱいサイトがあるのでそれやればいい。

これもつらくてもVimで書くべし。

5日目/6日目: JavaScript勉強をする

これもMDNってところのチュートリアルをやればいい。終わったらここ(https://jsprimer.net/)タダ。

たぶんどこかで間違いなく詰まるだろうけど、最悪「このボタンクリックするとこっちのspanタグCSSで色を変えられた」ぐらいまでできると「イイネ!よくぞそこまで自力でたどりつけた……!」って言いたくなる。わかんなくても頑張って進めばよし。

だいたい雰囲気はわかってきたと思うのでテキストエディタVimじゃなくてもいい。好きなのを使ってください

7日目/8日目: HTML/CSS/JavaScriptを組み合わせて、ブラウザで動くアプリをつくる

電卓アプリケーションやTODOアプリをつくる。作るのはなんでもいいけど自分過大評価してすごそうなものを作ろうとすると一生終わらない。難しければそのへんに転がってる人のコードを参考にする。

つくったらGitHubに上げておく。デザインとか見た目は別にクソでいい。ゴミみたいなものでいいから、とにかく動くものをつくるべし。ある程度バグっててもいい。ある程度動かせるものをつくってしっかり終わらせる、これが大事。一生これなので。スクールでいうとたぶん3ヶ月目・4ヶ月目ぐらいの内容。

9日目: 就活開始

既にそのへんの会社には余裕で潜り込めるので、とっとと入って業務経験をつける。履歴書Google Docsで書く。別に他のが使いたかったら他のでもいいけど、よくわかんなかったらGoogle Docsでいい。紙はPDFで送れないし面倒だしITスキルを示せないのでNG。「紙じゃないから」で落とすところはクソなので気にしなくていい。

経験だと研修もあるので、よくわからなかったところをそこで補完する。とにかくひたすら応募しまくる。たとえブラックでも、1年ぐらいでやめる想定でガンガン応募する。落ちても気にしない。ぶっちゃけどこでもいい。

手に入れるべきなのは業務経験1年」という称号給料はそれまでの自分経験かに左右されると思う。実地訓練がいちばん為になるし合う合わないもすぐに見極められる

10日目/11日目: ITパスポート系の本とか「○○の絵本」とか、初心者向けの本を大量に買って読み込み、ITの基礎知識を身につける

とにかく体系的な知識がないはずなので、知識を身につけまくる。背伸びして難しい本を買っても意味がない。

ITパスポートは取れるなら取っておいた方がいい。業界経験で「ITパスポート持ってる」は頑張った人の証。その後の転職には使えないけど最初はつかえる。たぶん

12日目/13日目: LPIC Lv1の本を買ってやっておく

試験別に受けなくていい。Linuxをある程度使えるようになればそれでおk

14日目: ネットワーク系の本を買って1冊読んでおく

とにかく平易なものを選ぶ。たいてい、いちばん平易なものも平易ではない。最低限TCP/IPとかサブネットマスクとかが理解できてればおk

よくわかんなくても業務ときワードが聞こえてきて「あ、それ、○○の本で見たやつだ!!!!」ってなるのでとにかく読む。

15日目: ソフトウェア開発の流れを知る(ネットでも本でもなんでもおk

ウォーターフォール開発とかいうのを知っておく。アジャイルとかあるけどまだ早い。気にしなくていい。基本は「要件」「仕様」「実装」「テスト」が大事死ぬほど大事毎日呪文のように唱えていろいろなことにあてはめて考えるべし。

16日目/17日目: データベースを学ぶ

MySQLっていうデータベースがあるからそれをやる。よくわかんなくても最低限のSQLだけは書けるようにしておく。別に他のをやってもいいけどRDBMSならほぼすべて同じだからMySQLいいんじゃないのって思う。

どうせ新人には誰も期待してないので、完璧にせずある程度書ければいい。「『正規形』って概念があるんだな〜」って思えるぐらいでも上出来

18日目/19日目: Webフレームワーク勉強する

PythonならDjango。ただ、早ければこのへんで就活終了してるはず。就活ときに「なんの言語でどういう作り方をしているか」「自分は何を勉強すればいいか」を聞いているはずなので、そちらを重点的におこなうHTTPの基本がわかってればWebフレームワークなんて雰囲気でわかる。ガンガンやっていきましょう

20日目/21日目/22日目: JavaとかTypeScriptとか、いわゆる型のある言語を学ぶ

好きに本を買ってやったらええ。C++とかはたぶん難しいだろうからそういうのにいきなり挑戦しなくてもいいと思う。Javaぐらい書けてみせろ

23日目以降〜: 強化

どうせ会社に入ったらいろいろ道が変わるので、それをみて「自分はここが足りなそうだな〜」と思うところを見つけてやればおk

このへんで雑魚エンジニアを超えてる。でも中堅エンジニアから見るとまだまだスーパーザコクラスなのでイキらないこと。謙虚ガンガン進んでいきましょう。上に書いたことは全部初歩であり基礎であり重要。他にも重要なことはあるけど、いったんスクールレベルはこれで超えるはず。最初会社踏み台しかないので、さっさと踏んで次の会社に行って年収上げるのがオススメ

まとめ

たぶん160時間ぐらいは勉強することになると思う。早い人はもうちょっといかも。わりとハードスケジュールなので、キツい人は期間を2倍、3倍にしてもいいと思う

失敗してもいいから、とにかく何度も何度も速く失敗してなんとか解決することが大事

よくわかんなかったら、質問事項をまとめたあと、そこらへんのエンジニアネットで金払って聞けばいい。ググれば似たような質問してる人もいっぱい出てくる。

使う金は多くても10万ぐらいかな(PC代込み)

「未経験おk研修あり!」の会社を選ぶと、給料もらいながら研修受けれるのでスクールよりよっぽどいい。初期投資すぐ返ってくるのでオススメしたい

正直自分にはスクールに行きたがる人の気持ちがわからないので、参考にならないかもしれないけど、どうしようか迷ってるぐらいの人はこれやるのがオススメ

別に100点満点の道ではないと思うけど、それなりに高効率の道だと思う

追記: プロゲートとかドットインストールとかでもいいと思う。この上のやつは、1つのルートとして参考にしてもらえればいいかな。別にこれだけが正義かいうつもりは全然ないし、自分SESは嫌だし。ただ結構高い金払ってスクール行って大した能力も身につけられないのを見てられないなと思っただけ。

マジ初心者は、なんでこれをやらないといけないのかチンプンカンプンだと思うけど、重要な点だけ削り出して言ってるので、1ヶ月後に点がすべて繋がって血と肉になるはず。疑うな。疑いたい人は信用できる人に聞いてポリッシュアップしたカリキュラムでやればいいと思う。別にこのルートけがすべてではない🐹(このルートだとWindowsアプリiOS/Androidアプリなんかは一切つくれないし)

2020-06-07

anond:20200607045358

web系に進むなら追加でcss終わったら

anond:20200607043413

web系ね,図書館は厳しいかもしれん(新しいのがない)

progate, ドットインストールあたり見ればいい.

HTML,CSS終わったら

セガの人が出している「ゲームプログラマになる前に覚えたい技術」を読んでおくと良い.これはVC++,おそらくヒットチェック判定とかある.

2020-05-24

anond:20200524145515

C#TypeScriptの完全ラッパーになりつつWebAssemblyも出来ちゃうかもしれない未来について

anond:20200524144556

EdgeだってChromium軍門に降ったんだからTypeScript専用の高速実行エンジンChromium実装すれば

MSGoogleもWinWinになると思うんだけどなー

少なくともDartで同じ事をやるよりずっとマシ。Dartの方は頓挫したけど。

anond:20200524144450

究極的にはTypeScriptGoogleの持ち物じゃない(完全なコントロール下に置けない)からだと言われている

anond:20200524144322

なんでGoogleDartにあそこまで固執しているのか意味不明なんだけど

TypeScriptに全力を注いだ方が絶対いいだろアレ

2020-05-22

anond:20200521225730

プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。

JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScript改名されたり、規格を話すときECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。

Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。

Javaは初期のころオートボクシング / アンボクシングもなく、ストイックオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコード簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である

PHPWebネイティブ言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能初期化していない変数最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列数字臨機応変に切り替える機能もあり(今もそうかは知らん)、数字文字比較比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。

C#Hello Worldくらいしかいたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。

C++黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーション腱鞘炎になることもない。PC Unixにも最初から環境インストールされているか簡単インストールできるので毛嫌いせず使うとよいと思う。

Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。

CSS...はプログラミング言語なのか?そうか。

TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。

Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるからカーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。

これ以下のランキングのもその気になったら書こうかな。

2020-05-21

初心者向け】プログラミング言語人気TOP20簡易解説

概要

プログラミング経験からプログラミング勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点簡単解説してみます

対象読者はプログラミング経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。


ランキング

1位 JavaScript

Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネット世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページグリグリ動きまくりである

元々HTMLちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。

ブラウザ上で動くプログラミング言語基本的JavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。

ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。


2位タイ Python

機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。

Webも作れるが、日本ではWeb系の求人は少ない気がする。

言語としては、誰が書いても簡潔で読みやすコードになる傾向にあり、小さいプログラムを書くにはいい感じである米国ではプログラミング教育Pythonがよく使われているという話も聞くし、初心者プログラミングを始めるのにはいいのかもしれない。

将来AIデータサイエンスをやってみたいと思うのであればPythonから始めましょう。


2位タイ Java

ランキングでは常に一位に近い順位をつける言語Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去資産プログラマの数が多いのが一番の理由だと思う。AndroidアプリJavaで書く(もしくはKotlin)。

実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所短所としては、歴史ある言語下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストJavaScriptPHP, Ruby, Pythonあたりに比べると高い。

正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAJavaをかなりヘビーに使っているので要は玉石混交ということである

Androidアプリ作ってみたいというならJavaからはじめるのはアリ。


4位 PHP

Webページを作るためだけに生み出された言語プログラマの数が非常に多い。日本求人が一番多いのはJavaPHPであろう。

初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルであるしか基本的には古くてダメ言語とみなされており、PHPで作られたWebサービス脆弱性が多いという都市伝説もある。真実は闇の中である

近年のバージョンアップ比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。


5位 C#

Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。

最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#プログラマ結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。

ただし.NETUnityも触らない人にとっては基本的に縁のない言語である

なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。


6位 C++

C言語に色々な機能を足しまくってできた巨大な迷宮のような言語言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンス重要な開発において使われる。アプリサービスというよりは、それらを作るためのライブラリプラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。

基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。


7位タイ Ruby

このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界有名人である。ちなみに島根県出身、在住。

プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本情報が多く、情報収集という点ではとてもやりやすい。

Ruby on RailsというWebサービスを作るためのフレームワーク世界的に大ヒットしたため、必然的Ruby知名度も上昇した。少し前まで日本Webスタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Webプログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。

Webに興味があるのならRubyから始めるのが一番無難選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールカリキュラムに従いRailsをやりましょう。


7位タイ CSS

これは他の言語とは毛色の違う言語である。というかCSSプログラミング言語と呼んでいいのだろうか?

CSSHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトサイズを変えたりするのは基本的CSS役割である

すごく大雑把にいうと、HTMLで表示する内容(文章画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である

なので、Webに興味があるのであればある程度はCSS知識必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。


9位タイ TypeScript

TypeScript比較的新しい言語で、JavaScriptさら拡張したものであるMicrosoftによって開発されている。

プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語サクサクかけるし短く書けるがバグを生みやすプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。

そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである基本的JavaScript理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。

ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。


9位タイ C

C言語基本的OSを作るための言語であるOSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアであるAndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータ基本的OSがあって初めて動かすことができ、OS提供する機能を使ってブラウザスマホアプリなどを動かせるのである

というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語文法C言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaPHPなどはなんとなく雰囲気で書けてしまったりする。

そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味理解できるまでに2年かかった。才能がないとこうなるので注意。


11Swift

SwiftAppleによって作られたAppleのための言語であるiOSアプリiPhoneアプリと言い換えても良い)を作るためだけに存在している。

言語自体は他と比べて新しいため文法機能イケてる雰囲気があるので基本的はいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。


12Objective-C

Swiftが生まれる前はiOSアプリを書くためにObjective-C必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-Cアプリメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチ需要はこれからも残るのかもしれない。


13位タイ Scala

Scala関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター


13位タイ R

R言語データ解析用のプログラミング言語である

正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワード流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習AIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者最初にやるようなものではないことだけは確かである


15位タイ Go

Go言語比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用目的に作られたものであるしかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。

他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。

学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。

二番目や三番目に学ぶ言語としてはオススメ


15位タイ Shell

シェルというのはテレビなんかでハッカー的な人間PCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェル知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。

Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。


17PowerShell

PowerShellは上のShellの親戚みたいなもので、ShellがMacLinuxで動くのに対しPowerShellWindowsで動く。そんだけである。あと正直あまり知らない。


18位 Perl

ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語C++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である

今でも広く使われてはいるが、RubyPythonPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定目的があるのであればいいと思う。


19位 Kotlin

Kotlin簡単に言えばBetter JavaであるJavaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである

ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。

とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。

言語自体はとてもいい感じなので、もう少しコミュニティ成熟してくれば最初に学ぶ言語選択肢として有力になるかもしれない。


20Haskell

HaskellScalaと同じく関数型言語であるScalaJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語マスターしてからやりましょう。


総評

なんとなくWebに興味がありそうならJavaScriptRubyもしくはPHPAndroidアプリに興味があればJavaiPhoneアプリに興味があればSwiftAIデータ分析に興味があればPython3Dゲーム開発に興味があればC#。この辺りをやりましょう。

特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。

なお筆者はただのヘボプログラマであり、大好きな記事http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

2020-05-20

結局、vue.jsTypescriptで書く方法は、何が正しいんだよ!!!

2020-05-02

[]2020年4月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

202あとで/2672users ブログ: 「平常に戻る」ことはない - イギリスNESTA(科学技術芸術国家基金)より | okuranagaimo.blogspot.com

144あとで/741users 電子情報学特論:Chromiumアーキテクチャを解き明かす - Google スライド

142あとで/2292users 0403「NY感染体験記(未確定)」|qanta|note

132あとで/1569users イラスト図解! これが新型コロナウイルスSARS-CoV-2)だ|ぬまがさワタリnote

124あとで/1229users [PDF]COVID-19への対策概念 | 東北大学大学院医学研究科・押谷仁

116あとで/578users API 設計ガイド  |  Cloud API  |  Google Cloud

116あとで/1677users 緊急事態宣言から3週間 流行状況はどう変わったか(忽那賢志) - 個人 - Yahoo!ニュース

114あとで/911users 米ジャズプレーヤーが解き明かす“J-POP”の正体、音楽アイデンティティKAI-YOU Premium)

114あとで/609users Google Cloud Platform のトレーニングコースハンズオンを 1 か月間無料提供 | Google Cloud Blog

111あとで/506users ドキュメント作成スキル向上を目指す人向けおすすめ記事まとめ - Qiita

106あとで/970users 月例マグコミマンガ大賞2020 - マッグガーデン / 2月期 入選「賢者教室」朝野茶柱 | MAGCOMI

104あとで/668users 論文の読み方 / How to survey - Speaker Deck

103あとで/617users SPAログイン認証ベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜 - Qiita

102あとで/452users Git / GitHub使用したチーム開発時のガイドラインを制定しました | Developers.IO

102あとで/1032users 「日本人幻想を抱く」新型コロナと闘うウイルス学者の『情熱大陸』のドキュメントがすごい!(追記あり)(水島宏明) - 個人 - Yahoo!ニュース

100あとで/549users Mr. ベイエリア on Twitter: "自分機械学習を学びたい全ての人類に(CourseraのAndrew Ngコースをやった後に)Andrew NgStanfordのCS229の講義を見ることをオススメしてるんですけど、その講義2018年バージョンが公開され… https://t.co/OUokFft3ea"

97あとで/600users 自宅で学ぼう!AWS学者向けの勉強方法 6ステップ! | Amazon Web Services ブログ

96あとで/435users 文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字正規化書記クラスタ理解しよう! - エンジニアHub|若手Webエンジニアキャリアを考える!

95あとで/406users “アカウント作成後すぐやるセキュリティ対策” 編を公開しました!- Monthly AWS Hands-on for Beginners 2020年4月号 | Amazon Web Services ブログ

94あとで/538users 大幅にリニューアルされた Next.jsチュートリアルをどこよりも早く全編和訳しました - Qiita

94あとで/1004users 「一生役に立つ」人に質問するときに覚えておきたい…とある大学の授業で配られた『質問の仕方』のスライド - Togetter

93あとで/1447users ヨーロッパコロナ感染して入院した話 - にゃんぶろ

93あとで/782users これからは「一番最初に思い出してもらえるブランドしか生き残れない|池田紀行@トライバルnote

92あとで/2071users 一人暮らし新型コロナウイルスにかかった話|ROnote

88あとで/794users 見ずして死ねない日本の伝統建築10

87あとで/1317users リモートワークが 超快適になる製品9選 〜仕事に本気なあなたに〜|村上僚|note

86あとで/425users 「AIをどう習得したのか教えて」と大募集し、技術から集まった記事49本を紹介 - 週末スペシャル日経クロステック Active

86あとで/809users API 設計: gRPC、OpenAPIREST概要と、それらを使用するタイミング理解する | Google Cloud Blog

86あとで/778users Gitでよく使用するコマンドGIFアニメ解説 | コリス

85あとで/395users TypeScript 練習問題集 · GitHub

85あとで/2211users コロナの影響でスーパーで買うカツオ刺身が美味すぎる。|すずきまことnote

[あとで読む]タグの減少が更に進んだ。COVID-19の闘病記がタグを集めた。

2020-04-28

anond:20200428232754

.vueコンポーネントで振り分けちゃえばスッキリしてて好きだけどなstyleのスコープが謎のときあるけど

デコレーターなんて、言ってしまえばGotoみたいなもんやんけTypeScriptなんて型指定以外いらんわとおもう3ヶ月めの初学者であった

TypeScriptって煽り抜きでどこで使われてるの。まさかJavaScriptコンパイルして使うなんて言うなよな

やあ、@saitamasaitama だよ

新型コロナのおかげで仕事がなくなって死にそうだから仕事クレメンス

Typescriptとかできるから

2020-04-19

anond:20200419160315

それはある

Unityで使われるC#Javaのパクりだし

Unreal Engineで使われるC++Javaのパクりだし

TypeScriptEcmaScriptJavaのパクりだから

とりあえずJavaやっとけばいいよ

2020-04-01

仕事くれー

アルバイト君達の給料払えなくなるかもわからんから仕事くれー。

PHPとかtypescript とかc#とか出来るでー、仕事くれー

2020-03-24

anond:20200324161456

結局今の金になる(しメジャーになる)プログラム言語って

Typescript/PHP/Python/C# のどれかに収れんするんだが、どの言語もそれぞれ微妙に使い勝手が悪いってな。

なんで統一化できないのかさっぱりわからん

TS+C#の最強言語が一つありゃ何でもできるのに。

2020-03-06

もうTypeScriptやめようよ

根本的な問題として:MS技術だぞ。忘れてるんじゃないだろうな。

みんな一体どこまでMSにおもねるのよ。

新しい言語学習する余裕があるなら、なんで一気にElmの学習まで行かないの。

安全の面からバニラJavaScriptから離れたい人多いんでしょ。

じゃあElm最強じゃん。

なんで中途半端TypeScriptなんて勉強を始めちゃうの。

2020-03-02

[]2020年2月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

295あとで/3761users 資産運用 - shao

234あとで/1602users CTOの頭の中:技術財務表現する|Shin Takeuchi|note

225あとで/2454users Kyoto University Research Information Repository: プログラミング演習 Python 2019

219あとで/2206users 意識の低いフリーランス生存戦略

160あとで/762users TCP/IPをわかりやすく - 通信プロトコルの基礎知識を図解で学ぼう - エンジニアHub|若手Webエンジニアキャリアを考える!

160あとで/933users 京都大学Pythonによるプログラミング演習教材を無料公開:CodeZineコードジン

152あとで/1272users セキュリティエンジニアになり、そこから2年間分の勉強内容と参考になった資料とか - ぶるーたるごぶりん

142あとで/1054users コンピュータサイエンスが気になるプログラマに勧める書籍リスト - Rubyist Magazine 第61号 巻頭言

140あとで/731users 【社内資料公開】AWSに関するスキルアップ方法と一度は読むべきブログの紹介 | Developers.IO

138あとで/2534users 【書き起こし】岩田健太郎さんのYouTube動画ダイヤモンドプリンセスはCOVID-19製造機。なぜ船に入って一日で追い出されたのか。」の書き起こし

131あとで/1507users 牧歌的 Cookie終焉 | blog.jxck.io

120あとで/587users TypeScriptプロダクト開発に使う上でのベストプラクティスと心得 - Qiita

118あとで/667users プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita

117あとで/1454users 米津玄師さんの曲はどれも心に残り、独特に感じますパプリカ子どもたちも大好きです。曲なのかメロディなのか詩なのかリズムなのか、技巧として他のアーティストと異なる特筆する点があるのでしょうか?に対するNobuhiko Izumiさんの回答 - Quora

113あとで/626users エンジニア17年の俺が、事業系の開発タスクバンバン投げてくる非エンジニアに、保守必要性死ぬほど分かりやす説明する。|みやたけ|note

112あとで/1174users 銀座有楽町周辺で800回ランチした私のおすすめランチ!|takehiro sugaya|note

108あとで/900users Excel設計書を抹殺したくて4年前にWiki設計書を導入したら、意外とちゃんと開発回ってた話。 - Qiita

104あとで/1175users 『ヤバい本が出ようとしている』みずほ銀行システム統合歴史を綴った本が出版される模様「最恐のホラー小説」「章題を見るだけで闇を感じる」 - Togetter

103あとで/1072users 「相当まともな文章を書いてきますよ」関西大学ゼミで配布されている『レポート論文の基礎ルール』が本当に大切なことばかり - Togetter

101あとで/453users 大規模システムでの Linuxメモリ管理

101あとで/1172users 村井純教授1月16日最終講義文書き起こし – Matsubo engineering blog

100あとで/1379users 【鬼滅の刃】恋柱に注目するなら乳だけでなく下半身も見ろ - 本しゃぶり

98あとで/605users 質とスピード(2020春版) / Quality and Speed 2020 Spring Edition - Speaker Deck

97あとで/1572users EM菌の正体(構成微生物を調べました)|片瀬久美子|note

96あとで/446users 仮想DOMは本当に“速い”のか? DOM操作の新しい考え方を、フレームワーク実装して理解しよう - エンジニアHub|若手Webエンジニアキャリアを考える!

95あとで/527users JavaScriptの次の仕様ES2020で追加されることが決定した新機能まとめ - ICS MEDIA

93あとで/847users ふなっしー最近テレビで見ない理由、「本人」ロングインタビュー(上) | News&Analysis | ダイヤモンドオンライン

93あとで/531users 「AIをどう習得したのか教えて」と大募集し、技術から集まった記事49本を紹介 | 日経クロステック(xTECH)

92あとで/793users 中国AI企業が開発した中国語学習サイトが凄い|ばやし@イマチュウ|note

92あとで/1452users 鉄のフライパン再生メンテナンス樋口直哉(TravelingFoodLab.)|note

92あとで/1575users 書いたな、俺の前で、革靴の話題を!

92あとで/797users ls よりも exa を使おう!モダンLinux コマンド達を紹介 - Qiita

いつもの月に比べてあとで読むタグが少ない。あとで読みたくなるような記事が少なかったのか、あとで読むを付けるタイプの人が寄り付かなくなったのか。

2020-03-01

MtGプログラミング言語の色

このプログラミング言語MtGだと多分この色の組み合わせだろう。

みたいなのをまとめたら次のようになった(TIOBEのランキングトップ50)。

何かしっくり来ない箇所があるが原因が分からない。

後半は知らない言語もあって怪しい。

順位プログラミング言語色の組み合わせ 内訳
1 Java アブザン 白黒緑
2 C ゴルガリ 黒緑
3 Pythonティムール緑青
4 C++ ジャンド 黒赤緑
5 C# 4C(赤欠色) 緑白青黒
6 Visual Basic .NETレズニア 緑白
7 JavaScript ボロス 赤白
8 PHPグルール 赤緑
9 SQL 無色
10Swift 4C(緑欠色) 白青黒赤
11Go ゴルガリ 黒緑
12Assembly language 黒単
13 R ゼット 青赤
14 D グリクシス 青黒赤
15 Ruby 赤単
16 MATLABゼット 青赤
17PL/SQL 無色
18 Delphi/Object Pascal アゾリウス 白青
19 Perlラクドス 黒赤
20Objective-C エスパー 白青黒
21 SAS アゾリウス 白青
22 Visual Basic 緑単
23Dart ジェスカイ 青赤白
24Scratch 白単
25 Scala 4C(赤欠色) 緑白青黒
26 Groovy ナヤ 赤緑白
27 Transact-SQL 無色
28F#バント 緑白青
29 Rust 4C(白欠色) 青黒赤緑
30 COBOL オルゾフ 白黒
31ABAP アゾリウス 白青
32 Lispシミック緑青
33Kotlin 4C(緑欠色) 白青黒赤
34 Logo 白単
35 RPG ディミーア 青黒
36 Lua 緑単
37 Fortran スゥルタイ緑青
38 PowerShell ジェスカイ 青赤白
39 Ada ディミーア 青黒
40 LabVIEW ディミーア 青黒
41 Erlang 緑単
42 Julia ティムール緑青
43 ML 青単
44 Schemeシミック緑青
45 Haskellエスパー 白青黒
46 TypeScript ジェスカイ 青赤白
47 OpenEdge ABL アゾリウス 白青
48 LiveCode アゾリウス 白青
49 PostScript 無色
50 ActionScript ジェスカイ 青赤白

見返してみるとおおよそ次のルールに従って決めているような気がした。

そうしてしまうとMtG関係無いのでは…。それが原因なのではないか。後は緑の判定があやふやな気もする。

イメージ
レイヤ初心者向け
浮世離れベンダー
レイヤ、黒魔術
速い、先進
基盤、グル
無色 道具

マルドゥ(赤白黒)が無かった。

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2020-02-12

anond:20200212143037

MS技術はやめておいた方がいい。…と自分では思っている。

TypeScriptで出力したJSは、MSブラウザしかサポートしない、という未来は十分に予測できる。

それにどういう方針でbetter JSを作ろうとしたのか不明だが

    const color = switch (input) {
        case 1 => 'red'
        case 2 => 'blue'
        default => 'green'
    }

(どうでもいいが、増田スーパーpre記法使えないのか?)

こんな具合の「値を返すswitch」のような文法拡張すら実現できていない。

技術力が窺い知れる。

国内の勢いのあるスタートアップの中で、MS技術を使う会社は本当に「皆無」だし

うちの会社も、MSフリーで固めてる。

ログイン ユーザー登録
ようこそ ゲスト さん