「typescript」を含む日記 RSS

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

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#バント 緑白青
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 5C 白青黒赤緑
26 Groovy ナヤ 赤緑白
27 Transact-SQL 無色
28F# アゾリウス 白青
29 Rust マルドゥ 赤白黒
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 ジェスカイ 青赤白

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

緑の判定があやふやな気が若干しないでもない…

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

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フリーで固めてる。

2020-02-03

anond:20200203124339

https://www.switch-science.com/catalog/5936/

こいつなんかは5000円+a する結構高級な奴なんだが、

スペック

CPUが32bit 84Mhz+ FLASH512KB + RAM92KB と普通にやったらあっという間に足りなくなるスペックなんよの。

ただしこれに乗せて動かすソフトウェア開発プラットフォームが何故かtypescriptグラフィックも16色だけっていう「なんてーか違う」感たっぷりなので悩んでおるのさ。

このスペックマシンC++とかでコードを叩き込めればええんやけどなあ。

2020-01-14

2020年フロントエンドJSフレームワークを考える

みなさん、こんばんは。

「Merpaku Frontend Engineer Meetup」の時間がやってまいりました。

今夜は、著名フロントエンドエンジニアの方々にお集まりいただき、「2020年フロントエンドJSフレームワークを考える」と題しまして、お話をお伺いいたします。

みなさん、よろしくお願いいたします。


A:よろしくお願いいたします、ども。


B:よろしくお願いいたします。


A:え~と、ほんじゃ、まず僕からいきます

ま~、僕の場合はね、海外技術情報をチェックしてるんだけど~

今のフロントエンドはさ~、なんちゅ~の?

こう…銀の弾丸はない、だけど、結局はトレードオフ


B:ん~僕の場合はね、ちょっとキミとは違うんだけどね。

あの、Frontend Engineerの友達ベイエリアかにいるんだけどね~、いつもSlackで現地のトレンド情報を送ってくれるんだけど、よく調べると、ま~あの、銀の弾丸はない、結局はトレードオフ


C:あ、ちょっちょっといい?

あのね、僕~はやっぱりjQueryが一番いいと…


A:でもね、僕なんかなんちゅうの、海外カンファレンスに参加する機会がすごい多いわけ。ね?

この間もUSやUKまわってきたんすよね。

そこで一番感じたのはですね、銀の弾丸はないけど、結局はトレードオフというのが一番感じたなぁ~


B:う~ん、キミとはちょっと違うんだよね。

僕は英語がわかるでしょ~?

から勉強会なんか、登壇してくれって何度も頼まれてね、断ってるんだけど、まぁ、だいたいよく調べてみると、銀の弾丸はない、結局はトレードオフっていう。


C:う~ん、でもね、やっぱり僕はjQueryが…


A:そうじゃなくてさぁ、キミの言い方ちょっとおかしいよ。

そうじゃなくてさぁ、僕なんかは1日にね、1日に8時間コード書きまくって生活してるわけですよ。

そうすっと、すごいよくわかるのは、銀の弾丸はない、だけど、結局はトレードオフっていう感じだなぁ~。


B:違うよ~、僕なんか時間問題じゃないと思うんだよね。

はいいね数5万個だよ?5万個ついてんだよ?それも「先週いいねが多かった投稿ベスト20」ばっかりよ?

で、だいたいよく調べてみると、銀の弾丸はない、結局はトレードオフなんだよ。


C:あ、ちょっと言わせてもらうとね、僕なんかやっぱりね、jQueryがやっぱりいいなと…


A:あのキミ違うよ、だってさぁ、Watchレポジトリ数なんか言ったら、8万ありますJS

それをさぁ、全部動かしまくって感じんのは、はっきり言って、銀の弾丸はない、だけど、結局はトレードオフ


B:んはっ、僕なんかね、キミとはちょっと違うんだけどね、懇親会で質問したりとかね、ちゃ~んとフロントントエンドの話して聞くとですね、銀の弾丸はない、結局はトレードオフなんだよね。


C:っといいですか?

ええとあの~僕はね、絶対jQueryがね…あの…


A:あはぁ、全然違う、全然話違う、い~い?

フロントエンド理解するためにはさぁ、アーキテクチャと切り離せないと思うわけですよ。

ね?聞いてる?

ね、ほら僕は今、自作ライブラリ開発してますよね?TypeScriptの、ほら?

で、これは別にたいしたことじゃないですよね(笑)

自作ライブラリリポジトリ10個くらい持ってますよ?

から、そういうふうに、日常アーキテクチャを取り入れることからね、フロントエンドを考えると、銀の弾丸はない、だけど、結局はトレードオフと言い切れると思うわけよね。


B:ちょっと待ってよ、は~キミとはちょっと違うんだけどね、技術顧問先なんか行くとね、全部僕がWebpackとか、CI環境とか、み~んなレビューするんだよ?ペアプロするんだよ?

そうやってコミュニケーションしてね、でフロントエンド銀の弾丸はない、結局はトレードオフなんだよね。


C:やっぱアーキテクチャだったらね、Backbone.jsじゃな~い?


A:なんかおかしいんじゃないの~?

矛盾してるよ、まったく矛盾してるよ。

僕はさぁ、んん、勉強会10個開催してるわけです。はい

え~、今度Abema Towersでフロントエンドカンファレンス運営サイドもします。

ま、そういう世界にいてですね、はじめてフロントエンドがよくわかると言い切れると思うんですよね。

から、そういう言い方からしてもね、銀の弾丸はない、だけど、結局はトレードオフ僕は思うわけなんですよ。


B:違~うちょっと、僕はね、キミとちょっと違うんだけどね、僕なんかね、今度フルタイムOSS開発やんだよ?しかもWebAssemblyよ?

そうやって実際にOSSを作ってみてね、銀の弾丸はない、結局はトレードオフ


A:…


B:…


A:ちっ


B:ちっ


A:だからさぁ!!!WebAssemblyがどうしたか知らないけどさぁ!!!

僕ね、今度Google Japanに頼まれて、六本木ヒルズキーノートやろうかどうしようか迷ってる自分がここにいるわけ。


B:だけどね!!!


A:来場者は1万人だよ!!!


B:それはね!!!六本木ヒルズがいくつあったって1万人がね…


A:1万人てあんた、1万人の前でやったことある!?


B:六本木ヒルズがね、どうやって…


C:だからやっぱりjQueryが一番…


B:jQueryが…


A:そういう真剣勝負をさ、実力を持ってるところからもの見てごらん!?


B:違うんだよ!!!


A:だから今のフロントエンドは…


B:ちょっと違うんだよ!!!


A&B : 銀の弾丸はない!!!結局はトレードオフ!!!

2019-12-29

モバイルアプリハイブリッド実装で後悔したもろもろ

モバイルアプリ実装と言えば主力はKotlinSwift(Objective-C)だけど、簡単な作りであればcordovaベースフロントエンド開発ライクに進められる。

そもそもライブラリ選定には関わっていなかったものの、便利と思って使った結果後悔した思い出のお話

WebViewベースである以上、イベントレンダリング系統ネイティブに劣る

特にiOSが顕著だった。

Angular, Vue実装していたけどレンダリング系に属するイベント盛りだくさんの場合

結果的ネイティブ実装したほうが楽だしレンダリングの面で有利。

そもそもcordovaからと言ってネイティブ知識がいらないわけじゃない。

標準サポートしているプラグイン群でできることは限られてくるし、そのまま突き進むならネイティブ実装知識必要になる。

フロントエンド開発できない奴が作れる代物ではない

これは当たり前だけど…

JSパッケージングだったりCSSビルドが組めないとなると逆にコスト高。

Angularベースで進めていたときにそれは起こった。

そもそもNode.jsビルド根本的に理解してない奴がプロジェクトを作ったせいで

JSパッケージビルドもされない、jQueryを突っ込まれるなどひと悶着あった。

3年前くらいだったけど既にTypeScriptも出てたし、何故そうしなかったのか理解できない。

結果ロードが激重になった。そりゃそうだ、minifiedされてないのだから

用法用量を正しく守って使わないと、後で面倒になる好例だった。

ビルドが意外と面倒で手間

大概は専用プラットフォーム上でビルドしていくがこれがくせ者。

ブラウザIDE(という名のただのテキストエディタ)が使えるけどそもそも構成管理できない。

ローカルビルド乖離するし、ブランチすら切れないのだから本人以外は触れないシロモノになってくる。

ビルドのためにアップロードするんだがこれまた賢くない。

別端末でビルドしようとすると同名の新しいプロジェクト作成される。

ここまでくるともう触りたくなくなる。ただ、触らないわけにはいかないので何とか整合が取れる状況にした。

さらに言えば、ビルドが終わってステータスが見れるが、内訳が見れるのはそのタイミングだけ。

これはマジで止めてほしい。殺意が湧くレベルでやめてほしい。

多分、海外で公開したプラットフォームをそのまま持ってきてるんだと推測しているが流石にこれは悪意しか感じない。

やろうと思えばそりゃローカルビルドはできるけれども。

クライアントOSで動くビルドツールが使い物にならない

ただのCLIバックグラウンドで実行するだけのGUIラッパーと化している。

かといってlintを掛けてくれるわけでも無し。

個人的に要らないし今後は使わない。

WEB RTCを使うとiOS互換に苦しむ

突き当たったのはWebSocketを使うシーンが出てきたとき

ライブラリで何とかする方向で進めたかったけどそもそもwebpackビルドにすら対応していなかった。

件のAngularベース場合もっとひどくてクソラッパーを作りやがったせいで依存度が激高になった。

ちなみにネイティブはそれぞれにサポートするライブラリが出ていて、最新バージョンに向けてきちんとメンテナンスされている。

その辺はJS世界の闇に降れた瞬間でもあったりした。

総括

根本的にiOS側の実装レスポンシブ的なレイアウトが作りにくい現状を鑑みて、

WEBベースで新商品などの通知をしたい、残りは情報の閲覧のみでSPA構成的なシロモノで作りたい。

こんな需要には使ってもいいんじゃないかと思う。相当なレアケースだけれども。

いいところは確かにあって、CSSデザインの調整が効くところは大いに評価できる。

これがまたネイティブ実装だと面倒。特にiOS。お前はダメだ。

結局進めていくとネイティブ実装知識を求められるのだからネイティブ実装したほうが良くね?と言ったところ。

ユースケース的に超単純要件アプリを作りたい、かつ、ユーザに何かpush知的なやつを入れたいって場合は使ってもいい気がする。

うそ大手でもなければ無い気がするけど。

2019-11-30

anond:20191130205851

別にjavaでもpythonでも良いけど、ウチの会社的にお勧めtypescript やな。

要はnode.js自体が割と汎用性いからそこを軸にするイメージ

実際のワイがやってる業務とかだとphpやけど、そこに拘りはない。

常に汎用性重視なイメージ

2019-11-07

TypeScriptは滅びる。確実に

TypeScriptTS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明オブジェクト操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明オブジェクト操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダー責任なんだよ。Python意味不明オブジェクト操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。

散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないかTSインストールしよう。Node.jsをまずインストールして、TSインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語プログラムを書こうってときに、コンパイラ必要インストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!

プロジェクト必要ツールインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要からインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネット情報適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPRuby駆逐するって言われて何年たった?今でもPHPは現役で、RubyPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか

2019-10-29

anond:20191029162738

PHP/Bashおじさんだぞう。ぱおーん?

まー後はnode.jsとかtypescriptやらUnityとかtensorflowとかも使えるが、基本は割かし広く浅くカバーしてると思ってくれればええで。

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