「プログラミング言語」を含む日記 RSS

はてなキーワード: プログラミング言語とは

2020-06-03

国産CADも碌なものがない

国産プログラミング言語政府塩対応

国産IMEソフトも無いようなもの

このへんは競争力低下に如実に響くのに今なんもやってないんだから20年後もこの国が没落し続けてることは確定事項だな

2020-05-30

anond:20200530053352

gotoを持ってなくても大域脱出不思議利用でスパゲッティを作れると思うけど、任意の行に飛ばないだけずいぶんましか

構造プログラミングが当たり前になった時代からし自分プログラム書いてないから正直昔の人がgotoでどんなに苦労したかは知らない。交換機のプログラミング言語について話を聞いたときBASICみたいだなと率直に思って、その保守点検をする仕事ではないことを幸運に思ったのは確か。

2020-05-27

母のブログを見てしまった

自分IT系職業。なので家族からはどうも「きかいにくわしい」というデカい括りで頼りにされる。

この書き込みを見ている層には大体分かってもらえると思うが、いくら職業IT系とはいえ「きかいにくわしい」訳ではない。知ってることしか知らない。

そしてプログラミング言語や開発の知識は、一般家庭のごく一般的な用途で「きかい」を使う際にほぼ役立たないことについても共感してくれるはずだ。

Androidスマホを使う人間iPhone機能について問われても困るし、利用したことのないWebサービスの特徴を何も見ずに答えることなど出来やしないのだが……。

さて、この度母から受けた以来は「ブログを開設してみたい」というものだった。

困ったことに〇〇年前に自分が利用していたブログサービスはサ終したので、大まかな要領こそ分かるが詳細を細かに聞かれてもなんも答えられない。

そしてエンタキー1つ押すのにビビり散らかす母である、付きっ切りでブログの開設を手伝ってやったわけだ。

……でもその際、ブログドメインを見てしまった。

から後日、好奇心に駆られてアクセスしてしまったのだ。まるで子の日記を覗く母親のようだ。

記憶していたドメインから検索をかけたらすぐに見つかった。

それがパンドラの箱とも知らずに。

森の中にいるようなナチュラルなヘッダー画像

非科学的なワードが連なるブログタイトル。

流行りでもない絵文字をところどころに挿入した、いわゆる昭和的な文体

2行に1回は書かれた「愛」という単語

記事最後に綴られる、「神に感謝」。

顔を覆った。精神的な理由吐き気がするというのはこういう感じかと分かった。

数日前の記事に「セミナーに行った」と書いてあった。用事があると行先も告げずに出て行った日だった。

また別の日の記事に「子供と話しました」という内容の話があった。

兄弟もいるが、そこで語られている子供というのは、どう見ても自分の事だった。

会話内容自体は心当たりがあったが、自分が思ったもの全然違うものになっていた。自分が喋ったことが曲解曲解を重ねたような形でつづられていた。

深いため息を吐いてブラウザを閉じる。

最近始めたばかりのこんなブログだ、恐らくアクセスカウンターもそう沢山回るまい。

明日母はきっと訪問者数の解析でも見て、誰かが見てくれたんだと喜ぶのだろうな。

オブジェクト指向が分からないあなたへ

どうも、都内の某企業に勤めるフルスタックエンジニアです。この記事では、ITの非専門家に向けて、オブジェクト指向解説をしたいと思います

小学生プログラミング教育が開始されたり、AIIoTなどの技術が身近になった今日オブジェクト指向理解しておくことは極めて重要です。なぜならば、オブジェクト指向ITエンジニアとっての「共通言語」であって、今やあらゆるソフトウェア技術オブジェクト指向の上に成り立っているからです。したがって、オブジェクト指向理解すれば、ITのすべての分野の基礎が身についたことになります。難しい概念がいくつか出てきますが、分かりやす解説するので頑張ってついてきて下さい!

オブジェクト指向とは

まず、オブジェクト指向とは何かを解説します。オブジェクト(object)とは、「モノ」のことです。言い換えれば「モノ指向」です。つまりコンピュータのようなバーチャル対象ではなく、現実のモノをモデルプログラミングしようというのが、オブジェクト指向定義です。この考えは、今流行りのIoT(Internet of Things = モノのインターネット)にも取り入れられ、爆発的に影響力を増しています

モノという考え方は、18世紀哲学者カントに遡りますカント純粋理性批判において、理性と経験によって認識できる以前の「物自体」という概念提唱し、大陸合理主義イギリス経験主義を統一しました。オブジェクト指向におけるモノとは、カントのいう物自体です。したがって、オブジェクト指向世界の真理を記述できます。そのため、コンピュータというバーチャル世界を超えて、IoTを作ることが可能になります

現代プログラミング言語オブジェクト指向サポートする最も代表的言語Javaです。これに対して、CやC++といった旧来の言語関数型言語といい、現在では顧みられることはありません。また、JavaMicrosoftであるC#や、Javaに組み込んで使うマクロ言語であるJavaScriptなどもオブジェクト指向言語であり、プロエンジニアは好んでよく使います。一方、学生向けの教育用言であるPythonRubyなども、一応オブジェクト指向サポートしています。これらはプログラミング入門には適していますが、実務で使われることはありません。

オブジェクト指向の三要素

オブジェクト指向で最も重要な要素は

の3つです。これらを駆使することで、食卓から宇宙までを豊かにするIoTを作ることが可能になるのです。一つ一つ解説していきます

カプセル化

カプセル化とは、実装利用者から見えなくすることです。

たとえば、ソフトウェア脆弱性があったとしても、カプセル化をしていれば、利用者からはその脆弱性は無いように見えます。したがって、オブジェクト指向で作られたソフトウェアには、セキュリティ上の問題存在しません。

また、IoTを用いていない従来の家電製品などは、ボタンがたくさんあったりして操作がとても複雑です。カプセル化を応用すると、この操作を全く包み隠してしまっても、機械が使えるようになりますiPhoneスマートスピーカータッチパネルや声認識などで操作できるのは、カプセル化のおかげです。逆に、ガラケーボタンがたくさんある家電製品などは、オブジェクト指向(=IoT)で作られていません。

継承

継承とは、あるオブジェクト性質を別のオブジェクトが引き継ぐことです。

たとえば、人間は「歩く」「喋る」などの動作を行え、鳥は「飛ぶ」「鳴く」などの動作が行えますオブジェクト指向世界では、鳥を継承することで、人間が飛んだり、鳴いたりすることができるようになります。これを応用したのが、VRVirtual Reality=仮想現実)です。

また、iPhone携帯電話であるにも関わらず、ツイッターをみたり、アマゾンで買い物ができたりするのもオブジェクト指向のおかげです。つまりiPhoneツイッターアマゾン継承しているのです。それだけではなく、iPhone時計や財布、メモ帳など、現実世界の多くのもの継承しています

ちょっと抽象的になりますが、この考えを突き詰めると、次のような応用が生まれます。将来必要となるすべての機能実装したオブジェクトを一度作っておけば、後続の開発者はそれを継承するだけで、新規の開発なしに新機能を追加することができます。このような性質を「再利用性」といい、ソフトウェア開発では極めて重要な考え方となります継承はこの再利用性をもたらすために、ソフトウェア開発のスピードを爆発的に加速させ、現代ITの発展の原動力となりました。

ポリモーフィズム

ポリモーフィズムは、日本語では「多態性」と言います多態性とは、読んで字のごとく、多くの状態を持つということです。

オブジェクト指向では、多くの状態を持つことができます。一方、C言語などの関数型言語状態を持つことができません。関数型言語では、プログラムを関数(つまり入力と出力をもつブラックボックス)の合成として記述します。関数は、中学校数学で学んだように、入力に対して出力が一意に定まるので、状態を持つことができないのです。この制約を「参照透過性」と言います

オブジェクト指向では、参照透過性の制約がないため、プログラマは自由コードを書くことができ、関数型言語と比べて遥かに生産的です。また、上に述べたように状態を持てるということは、プログラムの入力に対する出力を無数に持てるということです。この応用がAI(Artificial Intelligence=人工知能)です。AIが、まるで人間が考えたかのように答えを出すことができるのは、ポリモーフィズムにより無数の出力を得ることができるからなのです。

おわりに

全体的に難解な記事となってしまいましたが

部分的にでも理解すればIT世界を見る目が変わるはずです。

うさんくさい情報に惑わされずに、このような本物の知識を身につけ

そして、皆さんにはIT未来を見通せる人材になっていただければと思います

2020-05-26

プログラミング言語を学ぶってどこまで?

C言語知らんけどポインタ

学者変数関数制御文とポインタをただ渡されてもそれだけじゃ何も作れないよね。

プログラミング言語を学ぶのは何かを作るためだろ?

C言語だったらコンパイラOSを作れたら「学べた」といってもいいッ、とか?

言語によって「学べた」の基準は違うだろうけど。

2020-05-25

12歳の妹に「お兄ちゃんプログラミング言語どれからやればいい?」

って聞かれたんだけどおすすめ教えてくれ

とりあえず知ったかぶってrubyjavaをすすめといた

2020-05-22

そんなに日本社会マウント取ってイキり散らしたいなら、ITエンジニアじゃなくてスパイとかテロリストとか傭兵にでもなればいいじゃん

日本社会において競合他者がいない職業で、かつ平和社会においては攻撃できる側の存在になって、金や女や権力社会から一目置かれたいってのが大体の増田根本的な願望なわけじゃん

他にできそうな手段ITエンジニアしかいからそれに固執してるだけで、フリーランサーでなんでもやりたいなら、今はネットだって発達してナレッジベース技術図鑑回想録とか書籍で手に入るし自主学習できるんだから自分勉強してスキル身に着けて、諜報技術戦闘技術などを独学して自分で売り込んで仕事すればいいじゃん

プログラミング言語が、まったく別の技能に置き換わっただけだから、何ら問題ではないし、ヘタすりゃ自主学習必要費用よりも費用対効果安いかもしれないじゃん

増田邪教信徒の如く恐れる、DQN半グレ暴力団などの裏社会の住人だって怖くはないだろ、そいつ返り討ちにできる技能を保持できる仕事なんだから

スパイテロリスト傭兵なんて肩書で、講演会書籍書くだけでめっちゃ儲かっててさ、チャンネル桜オタク向けミリタリー講演会とかで、おっぱいデカコスプレイヤー芸能人かにチヤホヤされながら番組出てる奴らや事例日本でもいっぱいいるじゃん

今や世界中でとんでもない競争倍率があり、法規制に縛られた故に自分のやりたい仕事がなかなかできないIT業界で、できもしないことに鬱屈して向精神薬飲みながらネット害悪論喚くくらいしかやることがない空しい人生送るくらいなら

どうせ死んで元々なんだから挑戦する価値がそっちの方があるのでは?

黒い画面にロマンを感じるとか、最強のプログラミング言語を決めたくなるとか、そういうところに楽しみを感じてないとやってられない仕事だよ

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) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

GoFデザインパターンを推薦している人は、頭の悪い人が多い

今更、こんな本を読む必要はないです。いや、出版された当時でも実質的価値はなかったと思います

この本に載っているパターンは、以下の4つのどれかです。

また、挙げられている23個のパターンには特に根拠はなく、著者が思いついたものを挙げただけです。

Code Completeにも書かれているように、GoFデザインパターンは使える状況で使えば保守性が上がるというものでありません。たいていの場合無駄に複雑になるだけです。必要のない場面では使うべきではなく、使って良さそうに見える場面でも、ドメインモデルを再検討した方が良いです。優れたソフトウェア開発者であれば必ずそうします。

GoFを推薦している人というのは、以下の特徴があるように見えます

実際は、GoFデザインパターンほとんど有用ではなく、またまともなプログラマなら仕事の片手間にぺらぺらと読んでいれば、内容も底の浅さも理解できる程度のものしかないのですが。

これと非常に似たものに、麻雀の点数計算があります麻雀の点数計算は、普通の知能のある人から無意味に複雑なものに見えますが、麻雀プレイヤーの多くは合理的ものだと思っているようです。この理由は単純で、大多数の麻雀プレイヤー頭が悪いからです。だから、点数計算無意味に複雑なシステムであることが理解できず、また普通の人なら1日で覚えられる点数計算を苦労して覚えたか価値あるものだと思いたがるわけです。

誤解しないでいただきたいのは、「デザインパターン」という概念自体重要であるということです。しかし、GoF別にデザインパターン」の原点とか典型とかでは全くないのです。理解力が低いとそういう勘違いをしてしまうようですが。

2020-05-20

anond:20200519162131

プログラミング独学の初心者はほぼ必ずどこかで詰まると思いますが、そういう時はYahoo! 知恵袋やTeratail、少し敷居は高いけれどスタックオーバーフロー日本版などを使ってみると良いと思います。(人力検索は死んだんだよね?)

質問サイトには、承認欲求に呑まれて出られなくなった教えたがりさんが大量にいるので、プログラミング初心者が何か質問をしたいな、と思った際はそういう場所でしてみるといいかと思います

質問の仕方は、初心者なら

タイトル「(プログラミング言語)で(やりたいこと)が出来ません」

内容「(OSWindowsとかMacとか)の(プログラミング言語かフレームワーク)で(やりたいこと)がしたいのですが、(動きません or エラーが出ます)。

(書いたコード、行ったこと)は(コードややったことを"出来る限りそのまま"書く)、エラーの内容は、(エラーの内容を"完全にそのまま"貼る、翻訳したり要約したりしない)です。解決方法をご教授ください。」

という感じでいいと思います。足りない情報があれば多分向こうから聞いてくるので。

同じようなエラーが起きている人がいないか質問サイト検索するのも良いと思います。(質問する前にやっておくのはマナーでもある、ただ探して見つからないものは仕方ないので大人しく質問するべし)

何にも知らない未経験者でもプログラマになれる方法教える

本当に何も知らない未経験者が現状維持人生を打破するためにできる1つの案として書いてみた。

あくまで1つのルートなので、他にもいろいろあるけど、自分はこれをオススメしたい。ちなみに簡単そうに見えてそこそこ大変。ある程度決意ないとできない。

まずITパスポート or プログラミング言語の何かの資格をとり、とっととIT業界就職する

ここを第一の到達地点とすると計画が立てやすい。

会社採用からしたら、単なる未経験者より何かしら資格を持っている人を取りたがる。少なくとも勉強してきたことが見えるので格段に印象は良くなる。特に中途採用

たぶん派遣SEからはすぐ採用される。「プログラミング勉強してきました!」って人よりも「プログラミング勉強してきました!あと、ITパスポートも取ってきました!」の方が高価値なのは当然。高い金払ってスクール上がりで何も資格持ってない人より「自力Ruby資格ITパスポート取ってきた」って人の方がポテンシャル高いので高価値。「スクール上がり」というのは資格価値として低いので高い金出してもコスパ悪いと思う。

なので、入門者向けの資格取得を1ヶ月や2ヶ月後の目標にすると良いかも。こういうタイプ資格はいつでもどこでも受けれるので(今はコロナなのでわかんないけど)、試験場の予約して勉強さえすればすぐに受けることができる。即日合格かどうかわかったりもする。今予約して2週間後に受けたりとかできる。

これがあればそのへんの会社はほぼ受かる。ただし給料はそんなに高くない。そこらへんのバイトより高いかなぐらい。最初会社選びは研修ついてるところがオススメ給料もらいながらプログラミング学べるので。

ちなみにITパスポートやらはIT業界では全然難しくない・運転免許レベルバカでも受かるみたいな扱いされてるけど、合格率は50%と、2人に1人は落ちるやつ。異業種・未経験の人は勉強しないとまず落ちる。でもちゃん勉強すれば受かって当然なので、受かっても自慢しない。まともなエンジニアなら無勉で受かる(主語デカ男)

プログラミング言語はなんかそのへんにサイトがいっぱいあるのでそれをやればいい。べつに本買って読んでもいい。全然つまんなくてもわかんなくてもいったん最後までやり通せば勝利。とりあえず通しでやるんだ。一番最初に学ぶ言語が一番キツい。詰まったら、詰まったとこをまとめて金払って人に聞くのがいいと思う。

正しい人に聞けば初心者が詰まるようなもの基本的に瞬殺で解決する。そのとき自分卑下しない。プログラミングって、そういうもんなんです。

とにかくやりきることが大事ほとんどの人はやりきってなくて挫折してる。どういうルートでもいいけどとにかくこの壁を突破した人だけがプログラマになってるはず。

ちなみに英語別に無理して勉強しなくてもいい。TOEIC900点ぐらいまで取らないと効果を感じられない上に、その分の勉強時間プログラミングにあてた方が伸びやすい。中途半端英語やるぐらいならGoogle翻訳とDeepLでいい。

それから経験からの1年目は別に楽じゃないと思う。がんばろう。

もちろん最初からITパスポートじゃなくて基本情報技術者応用情報技術者を取ってもいい。でも変にプライド出して背伸びするよりITパスポート取ってからとった方がいい。勉強大好きマンとかじゃない限り、いきなり基本情報技術者はまず落ちると思う。落ちないと思うならやればいいけどキツくても知らんぞ。

どこかの勉強会に参加する

勉強会といってもよくわからんセミナーとかじゃなくて、ほんとに技術好きな人が集まるほぼ無料勉強会に参加すること。1万とか2万とかよくわかんない金額払わないといけないやつはクソなのでスルーおk。気をつけよう。

たぶん勉強会に参加しても何言ってるかわからないはず。それで何がいいのかというと、自分との差を自覚できること。参考になることも多い。そのうちわかるので大丈夫

でも、ただ漫然と勉強会に参加しただけじゃ勉強にならないので注意。結局やるのは自分。がんばろう。

こっそり強いひとのTwitterなりをフォローして、ツイートに出てくる謎の専門用語をググりまくったりしてるとそのうち自分の血肉となることもある。ならないこともある。

さら資格とりつつ転職する

最初に入った会社には申し訳ないけど、何も知らない馬の骨的未経験者を大量に雇う会社能力が高い人がたくさんいることは少ない。1年ぐらいでとっとと基礎的なことを学んだら転職してステップアップするのが吉。

最初会社に入っているとき資格とって強く見せると転職成功率高い。なんで資格重要かというと、1年じゃ実績なんて大して積めないのでそれぐらいしか他人に見せるものがないこと(特に外部に対しては)

IT業界資格軽視されがちだけどなんだかんだ持ってると楽。「この人アホじゃないんだな」「少なくともめっちゃハズレということはない」が担保されるので楽。

資格なくても強いひととかいるけど、そういう人は既に実績があったり、資格じゃない見せ方とかできているので、いままで何も知らなかった人とは全然違う。当然、どこの大学たかとかも全部資格のうち。とにかく可視スキルポイントを積んでおくと転職に有利。ついでにそこそこ体系的に網羅されてるので実務にもそれなりに良い影響を及ぼす。

当たり前だけど難しい資格ほどポイント高い。コスパいいのでがんばろう。ただし、あんまり資格一辺倒でもよくない。業務関係する知識も吸収してライバルに差をつけよう!

転職成功すれば給料バイトレベルは通り越してると思う。「人生少し変わったな」と少しは思えるはず。

2年目・3年目になったらある程度仕事にも慣れてきて指針が見えているはずなので、近くのすごい人をモデルにするといいかも。がんばろう。

この時点でたくさん稼げるとキラキラ目を輝かせてる人もいるかもしれないけど、そんなに稼げない。金を稼ぎたいのはわかるけど、今の自分を見て地に足つけて少しずつ上げないと無理。「一発逆転」とか「楽して○○」とかそういうこと考えてる人ほどよくわかんない高額スクールかに騙されるんだよね。投資信託系の詐欺とかと同じ構図。

あとはご自由

3年マジメにやってると、中堅エンジニアの仲間入りができると思う。

中堅というか、ダラダラやっていた人たちをごぼう抜きしただけでまだほとんどビギナーなんだけど。

このあとは会社一生懸命働いて実績積むのもありだし、資格厨になるのもありだし、プログラマの中でも自分おもしろいと思える分野を見つけてそこに突進していくのもありだと思う。もう頑張るのはやめてそれなりに働くのもあり。

キャリアチェンジとしては成功していると思うので、自分からこれ以上何かアドバイスすることはない。

まあなんといっても、キツいのは1年目かな。「金もない・技術もない・人脈もない」のないない尽くしなので、そこをグッとこらえてガッといけばいける。1年グッてするの嫌な人は2年・3年キュッてするのでいいと思う。がんばろう

脳死でここに書いてあることやるだけでいいので指針としてはかなりシンプルで楽だと思う。個人的オススメです。

追記

もちろんITパスポートだけじゃ全然ダメなところもあると思う。ただここで言いたいのは、外部向けのわかりやすスキル・実績を作るのって結構難しいので、国内共通資格で、かなり簡単な部類のITパスポートをまずは取ってみてはいかが?ということ。そこをやらないで基本情報技術者などを取ろうとするのはなんか変だと思う。自分としては「ITパスポートで足りる」とは言ってないつもり。ぶっちゃけ全然足りない。あと、未経験者のくせにITパスポートなめて背伸びすると、落ちたとき絶望すると思う。まずはやる。そして受かる。なめたいなら合格したあとでも遅くない。

ITパスポートなんて意味ない。コード書け」っていうのもわかる。それでGitHub勉強してるコードを上げるのでもいいけど、これはある程度応募者に興味が沸いた結果「ちょっと詳しく見てみようかな〜」となってる段階で発生することだと思う。ポートフォリオも頑張って作られる割に、見る方は10秒ぐらい見て「ふーん」ってなる程度。見られないこともある。

それに採用の初期段階ではエンジニアが応募者の書類を細かく見ないことも多いので「未経験無資格」は「ダメでしょ」と即切りされる可能性も高い。そういう無資格の人が100人応募してる中、1人だけITパスポート持ってたらそりゃ選ぶでしょって感じ。もちろん、応募者100人ITパスポートレベルを持ってるような会社では選ばれないけど。

たとえば、ITパスポートとってきてプログラミング資格とってきてGitHubHTML/CSS/JavaScript勉強した感じのコードが上がっていてWordPressで作ったポートフォリオサイトがあったら、新人としてはかなり優秀で、「コイツわかってるな」と思わせられる。ここが0の人と比較すると、とんでもなく価値が高い(あくまで「新人としては」だけど)。この人と「スクール勉強してきました」ってだけの人じゃもう話にならないぐらい違う。何日間勉強したとか関係ない。見えている結果がすべて。

資格というのは別にAtCoder茶色になるとかでもいい。とにかく外部に一瞬でわかりやすく見せられる能力必要。これは「iOSアプリ作った」「Androidアプリ作った」「Chrome Extension作った」とかでもなんでもいい。汎用性高いのが公的資格であるITパスポートというノリ。

2020-05-19

anond:20200519193748

ぶっちゃけ大学に通わずプログラミングを身につけるのは常人には不可能

専門学校とかプログラミングスクールがあるじゃないかと言う反論があるが、

あいうとこ通っても、基礎学力が足りないから末端の作業員になるだけなんだよな

三角関数もわからゲームが作れないし、線形代数がわからビッグデータの処理などできない

プログラマの実力とはプログラミング言語の理解×基礎学力から

高校数学もわからPythonだけ覚えてもカスだよ

プログラミングスクールに通わずプログラミングを学ぶ方法

プログラミングスクールってどう思いますか」への、個人的な回答メモ

LINEウェブ制作系のオープンチャットで、

おすすめプログラミングスクールはありますか?」

エンジニア転職したいです。何からやればいいですか?」

おすすめ勉強方法を教えてください」

など、プログラミング経験の方によるこの質問から始まって、独学の方法についての意見交換が始まる展開を何度か見ている

初心者なのに数十万かけてスクールに通おうとしている人が多かったのが意外だったので、個人的な考えを長文でまとめたものである

リモート研修中にクビになった法政大の〜」という記事を見て、既視感があったので増田に貼る。

昨今のコロナ以前に書いたので、コミュニティの利用方法は若干今の現実と即してないと思う。

この文章は、ある程度の本音と持論を語るために、あえて冗長な長い文章形式をとっている。

なぜならば世間一般の「エンジニアのなりかた」といった類の文章は「わかりやすさ」に重きを置きすぎていると考えているためだ。

わかりやす文章は、読み手コントロールする文章である。そして、インターネットに落ちている「読み手コントロールする文章」は、何かを売りつけるための文章にすぎない。

あと、無料で読める長い文章すら読み飛ばす人が、実務レベル学習をやるとは思えない(クソ偏見

それと、ネット上で「プログラミングを学んでエンジニアになりたい」っていう人はだいたいウェブエンジニア(コーダー)志望なので、それを前提に書いている。

■どんな人を読者として想定しているのか

この文章ではこんな人を想定している

20代前半~30代前半で就職経験非正規雇用込)はあり。現在仕事はしている。労働時間はまちまち。週休2日で、月の半分の土曜日は出勤。平日の労働時間・出勤時間家事労働を除いた自由時間は1時間半程度」

「今の仕事には将来性が無いし、このままだとダメだと思っている。貯金はしているので、それを使ってプログラミングスクールに通って転職したい」

パソコンスキルゆっくりとしたブラインドタッチ日報を打ったりはできる。自宅にもノートパソコンは持っているけど、週末にyoutubeを見るくらい」

エンジニアイメージは、ウェブページを作ったりデザインをしたりする人、という認識

「まだプログラミング勉強は始めていない。何からやったらいいかからないし、時間も無いから間違った効率の悪い勉強方法は避けたい」

オープンチャット相談を見ていたり、自分の周囲を見ていてもこういう人が多い気がした。

気持ちは正直なところすごく分かる。

学校卒業してから仕事とは関わりのない異業種について勉強することはわりと大変だ。

資格勉強ならば、体系的にまとまった書籍試験範囲があるので、書籍をとっかかりとして勉強やすいだろう。しかし、「就職」を前提としたプログラミング勉強だと、たちまちにハードルがあがる。

言うなれば、週末に趣味でやるレベルではなく、「実務レベル」という到達目標があり、なおかつ肝心な「実務」について一切想像ができない。周りにエンジニアはおらず相談ができない。

そうするとどうなるか。

プログラミングスクール広告が魅力的になってくるのである

プログラミングスクール 比較」「プログラミング 始め方」で検索するとブログスクールオススメがたくさんヒットする。しかも、今なら入学金が半額だったりする。

どうしよう。プログラミングスクールに通うべきだろうか。

そんなことを考えている人を想定している。

結論:今すぐProgate(無料プログラミングアプリ)をやれ


エンジニアになりたいけど、プログラミングはやったことがない」という人にオススメサービスがある。

それが、Progate

https://prog-8.com/

である

Progateでは、ウェブサイトウェブサービスで使うプログラミング言語を、わかりやすスライドゲーム感覚習得することができるサービスである

なぜ、プログラミングスクール検討する人にProgateがいいのか。

なぜならば、Progateはtwitterなどのアカウントを持っていれば、5分後には学習スタートできるサービスからである

あなたプログラミングを一切学んだことがないならば、スクール情報を知るよりも前に、「自分が学ぼうとしているものがどんなものか」を知ることがもっと重要である

Progateは、「自分が学ぼうとしているものが何か分からない人」に特化したサービスであり、なおかつ学んだあとに「自分には何が足りないか」を考える足がかりになるサービスである

個人的偏見だが、こんな駄文を読んだり名前の知らない人に相談したりプログラミングスクールの紹介をするアフィリエイトブログを読んでいる時間で、Progateに登録してHTMLの基礎を学ぶほうがはるか有益だ。

何度でも言うが、エンジニアになるための勉強が、今から5分後には無料で始められるのだ。今から5分後には、あなたHTMLって何?っていう段階から、一歩踏み出して、5分前のあなたが知らない、ウェブエンジニアの基礎の基礎の基礎を知ることができる。

ならば、なぜやらないんだろう?やらない理由を探して、あれこれ迷って時間を浪費したあげく、「自分は将来のことを考えている」と自己満足したいだけではないのか?

こんな安っぽい挑発に乗っかるのは癪かもしれないが、まず行動をしてみてほしい。行動をする習慣と、行動を通じて頭を使う習慣を身につけてほしい。

実際のところ、Progateが無料っていうのはウソで、全てのレッスンをちゃんとやろうとすると月額980円がかかる。しかし、半年で80万円のプログラミングスクールに比べれば遥かに良心的な価格である。そして、前章で想定したような余暇に余裕が無い人でも、Progateならばスキマ時間で1か月もあれば1周することができるはずである

まずはそこからはじめてみてはいかがだろうか。

プログラミングスクールおすすめしない理由

費用対効果が悪い。胡散臭い就職保証されているわけではない。

以上。

プログラミングスクールに通うメリットとしては、

・同じ環境勉強する仲間がつく

メンターがつく

講師がつく

といった点が考えられる。プログラミング学習挫折しがちなところをサポートしてもらえる面や、お金を払った分の覚悟が生まれるのは良い点だろう。

しかし、結局のところそれも人の運であるところは否めない。

個人的偏見だがプログラミングスクールも、通ったもの挫折する人はかなり多いのではないだろうか。

プログラミングスクールを修了した人が、プログラマーではなくスクール講師メンターになる、というのもよく聞く話である。もちろん、そういうスクールに通って、あなたプログラマーになれないとは言えない。でも恐らく、その環境あなたが望む「実務レベル」を身に着けられる環境とも言い切れない。

おそらく、チャットなどでに質問される方の多くは、自分エンジニアデザイナーとしての働き方が、まだ明確に見えていない方だと思う。何をどれだけ勉強して、いつまでにどのレベルに達しなければならないか。そこがつかめていないはずだ。

そんな状態プログラミングスクールお金を出すのは、危険ではないかと思っている。自分習得すべき課題を知らないまま、他人自分人生手綱を預けてしまうことになりかねない。

学校というのは、「自分が何を習得したいか、どうなっていたいか、何を勉強しているのか」をある程度把握して、その目標との軌道修正のために利用する場所であって、教わる場所ではない。カルチャースクールに通うならともかく、転職を前提にした学習において、上述の点が曖昧なままにスクールを利用するのはメリット以上にリスクが大きい。

っていうか、スクールに通う数十万があるならば、その予算乾燥機付きの洗濯機食器洗い乾燥機を購入して、家事効率化を試みる方がいいのではないか

そのほうが、学習時間睡眠時間を捻出できるため、仮にプログラミング学習挫折しても、生活の質は向上する。

■Progateをやったあとはどうするべき?


1.なにか書籍を1冊やりきってみる

Progateでいくつかの言語での学習が終わった段階で、なんとなく「自分が何をやらなきゃいけないのか」が見えてくるはずである

仮に見えてこなくても、Progateをもう一度やってみるのはあまりオススメしない。

そこで、見方を変えるために、書籍にとりかかってみるのがいいと思う。

特に、Progateでは、実際にコードを書くためのエディターや、プログラミングに使う各種ツール言語などのインストールをする「環境構築」を学ぶことができない。

多くの入門者向け書籍場合、まずは序章で環境構築やおすすめエディタの紹介がある。ここで、一度環境構築を経験してみるのがいいと思う。

選び方としては、

予算内(2000円~3000円くらい)

最近に発売されたもの2017年2019年)、あるいは改訂が入ってるもの

・「書籍名 正誤表」で検索して、内容の誤りが修正されているもの

でどうだろうか。

できれば、大型書店に足を運んで、手を取って比較してみてほしい。(コロナから今はできないけど)

おそらく、Progateを始める前に書籍から始めようとしたものの、「どれがいいかからない」「初心者なのに、専門書のコーナーにいるのが恥ずかしい」

となっていた人でも、この段階ならば何かしらの選ぶ基準ができているはずだ。

例えば、Progateで分かりにくいと思ってたところがなんとなく理解できる本だったり、もっと詳しく知りたい内容が載っていたり、作ってみたデザインサイトが載っている本が見つかるはずだ。

もし、近くにプログラミング書籍が売っているような書店が無い場合は、Amazonに頼ろう。こればかりは仕方がない部分でもある。もし、タブレット端末を持っているならば、

Amazonkindle unlimited登録すると、月額1000円くらいで電子書籍の読み放題コンテンツを利用することができる。読み放題に登録されているのはいささか古いものが多いが、それでも限られた予算内でいろんな本を比較しながら進められる点で、メリットがある。

2.N予備校を使う。

N予備校ニコニコ動画提供する「ドワンゴ」が提供する学習サービスである

https://www.nnn.ed.nico/pages/programming/

このN予備校には「WEBプログラミングコース」というプログラミングコースがあり、これがわりと本格的な内容だと定評がある。

メリットとして、


が挙げられる。Progateと違って、講師質問できるのがN予備校の大きな強みだ。

でもお高いんでしょう?って思った方もいるかもしれない。

だが、なんとN予備校は月額1080円であるしかも、コロナ下の今では、無料である

しかも、プログラミングだけではなくPhotoshopillustratorといったAdobeソフト学習コースなども受けられる。

ただしデメリットもいくつかある

といった点があげられるだろう。

N予備校を勧めるのに「何を学べるのか」を具体的に書かない点には、難しくてとっつきにくい内容が多く、初学者説明しにくいからというのが挙げられる。

(ちなみに、チャットbotアプリとか、掲示板アプリを作ったりできます

実際、N予備校生放送を見ると、回を重ねるごとに挫折者が増えていく。

料金が安いにも関わらずサポートが手厚いのは、おそらく、黙って挫折する人が多すぎてサポートの手間が少ないのではないだろうか。

■Progateもやって、書籍もやって、それでもプログラミングスクールに通いたい


ここまでやって、それでもプログラミングスクールに通いたい人には、スクールを利用するための明確な課題意識があるはずだ。

ポートフォリオ作成転職活動を前提に、対面やスカイプで細かくサポートを受けたい」

自分ウェブサービスリリースしたい」

などなど。

この段階になって、なおかつスクールの料金を払える人ならば、アドバイス不要だと思う。

プログラミングスクールの問い合わせ窓口や受付で、いやらしい質問たっぷりとぶつけて、自分にあったものを探すのがいいのではないだろうか。

なお、大都市圏に住んでいる人ならば、この段階でエンジニアの集まりに顔を出してみるといいと思う。(これもコロナでできなくなった)

コンパス、という勉強オフ会サービスがある。

https://connpass.com/

ここで、自分が通える初心者歓迎のオフ会を探してみるのはどうだろうか。

こういうエンジニアの集まりには実際に異業種から転職した経験がある人や、フリーランス勉強している人、講師経験のある人が多く参加している。

個人的経験では、こういう集まりには親切な人が多く相談やすいと思う。不安払拭するためなら、一番近道かもしれない。

なんなら、「Progateを始めました!」って段階で足を運んでみてもいいと思う。

まとめ

以上、おそらくここまで読んでいる人は誰もいないと思うが、個人的経験を前提にしつつ「おすすめプログラミングスクールはありますか?」問題について書いてみた。

人によっては、「プログラミングスクールではなく職業訓練校」とアドバイスしたい人もいると思うが、職業訓練校は地域による当たりはずれや、学習者が現在仕事と併用できない点があるため候補に入れなかった。

(個々の状況に応じた選択肢の一つとして、職業訓練校は大いにありだと思うんだけど、一般論として勧めることができない。補助金があっても離職を伴いますから

この駄文を通して私が主張したいのは「悩んでいる時間無駄であり、とりあえず行動して勉強する時間無駄ではない」というただ一点である

「とりあえず行動する」とは、リスクを背負ってやみくもに飛び込むことを意味しない。最低限のコストで最低限の学習を行い、自分の向かうべき道筋について自身で仮説を組み立てつつ行動することである

そのための足掛かりとして、高額な出費を伴うプログラミングスクールではなく、まずProgateを推したい。この際、費用が掛からずに自分トライアンドエラーができるならば、他の学習方法でも全く構わない。とにかくまずは学習をはじめてほしい。

願わくば、この駄文が誰にも読まれことなく、いま悩んでいる人が「とりあえず行動してみる」と、勉強を始めてくれることを、願ってやまない。

ちょっと追記https://anond.hatelabo.jp/20200519212657

2020-05-11

anond:20200511161904

日本語プログラミング言語ってあるけど、「if」を「もし」とか、「for」を「繰り返す」とか、単語を置き換えただけで文法英単語を使ったプログラミング言語と同じだしな。

初心者に、これなら簡単って錯覚させるけど、プログラミング難易度はかわらない。

日本語じゃないし。

anond:20200511154835

プログラミング言語はぜんぜん中身英語じゃないだろ

そういう勘違いが「自然言語としても読めるプログラミング言語」とかいうひどい間違いを生み出すんだよ

anond:20200511153758

うそう。基本プログラミング言語は中身英語なんだから、幼い頃から全部英語仕様で慣れてたがどう考えてもあとあと楽。

逆に成人してからだとたかだかOSメニュー英語になっただけでもクラクラすると思う。今の時代それだとイコール敗北者でしかいからね。

2020-05-07

[]Ruby日本初の今でも人気があるプログラミング言語ってマ?

カリフォルニアロール日本発祥の人気のあるスシ、位の意味だと思うんだが実際……

2020-05-05

こういうアプリ、作りたいんです!

はてブ民様の知識を貸してください。

大学オンライン授業で

なおかつ今外に出れないので

アプリ作ってみたいです。

【やりたいこと】

カメラ

布についてるタグ

JIS記号

読み込む。」

画像認識てきなやつをさせる

「読み取ったJIS記号

意味

表示させる」

【なぜやりたいか

シーツを洗おうとしたんですけど

タグ記号意味がわからなくて

結局、ウェブで調べました。

(僕はアプリを入れましたが)

でも、これってQRコードみたいに

パシャっと記号写真に撮って

画像認識させてもっと簡単

わかったんじゃないかなと。

【ワイのスペック

私立文系大学生(法学部)

Pythonの入門参考書(?)やりました。

授業で1年間PHPもやりました。

増田見てるぐらいのネットリテラシーです。

環境

iOS用でつくりたいです。

詳しい事はわからないのですが

Macを用意する必要があればします。

プログラミング言語もこれを機に覚えたいです。

さなヒントで構いません!

身近に聞ける人がおらず教えてください。

追記

たくさんのアドバイスありがとうございます

「何を使って」「どうしたいか

もっと具体的にすべきだと思いました。

ひとまず、何個かヒントをいただけたので

それを調べていくところから始めていきます

2020-04-26

最強のプログラミング言語

JAVAをやっとけって志賀野って人が言ってた

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