「csh」を含む日記 RSS

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

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

2018-11-13

CもC++C#F#GoPythonPHP,Perl,Java,JavaSCRIPT,80アセンブラ,68アセンブラ,Bash,Csh,Powershellも書けるというのに

英語がぜんぜん使えないのはなぜだ。

2018-06-12

anond:20180612083542

めもちょうでぴーえっちぴーをかくのがしんのぷろぐらまー

それはvicshすくりぷとをかくように


まあ、来たルートによってはエディタ使わないこともままあるかと思う

いちばん多いのはIDEしか使わなかったルート

2013-01-18

続・うへぇ苦労するのガイドライン

前のはこれ http://anond.hatelabo.jp/20121219191602

PC-98

http://toro.2ch.net/test/read.cgi/unix/1036951410/601

601 :名無しさんお腹いっぱい。:2012/07/10(火) 15:04:00.62
今月はじめ、職場に古いパソコン(i486DX2の結構ローエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありハードパソコン系を採用するのは聞いていたの 
ですが、搬入されたパソコンのダンホール箱に印刷されていたのはPC-9801という 
文字でした。 

「うへぇ~、よりによって98かよ」 

NetBSD/OpenBSDインストール不可、Solarisも不可、SATA-HDDからブートできるのか、 
今時のLCDディスプレイにつながるのか、FreeBSD9.xは対応してるのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一コンソールでの漢字ROMによる日本語表示ができたPC-98大学など 
教育機関に浸透していて、日本パソコン界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、firefoxは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のパソコン界隈のくだらないそれらの 
議論が再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPC/ATでもSPARCでもPA-RISCでも 
PowerPCでもなんでもいいですがメジャーかつ現行のマシンにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

Z80

http://toro.2ch.net/test/read.cgi/unix/992942337/737

737 :名無しさんお腹いっぱい。:2012/09/16(日) 16:27:31.40
今月はじめ、職場に新しい組み込みマシン(ファンレス結構省電力構成)が入りました。 
多分私が開発全般をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、プログラムアセンブラを使用するのは 
聞いていたのですが、添付のサンプルソースコードからチラッと見えたのは 
LD A,(HL)という命令でした。 

「うへぇ~、よりによってZ80かよ」 

アドレッシングモード皆無、リロケート不可、使いにくいインデックスレジスタ、 
今時の関数引数スタック渡しに対応できるのか不安はつきませんし、 
今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初Z80に触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、8bitCPUi8080上位互換i8085よりも多くのツギハギ命令を追加拡張した 
Z80大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ADD A,(HL)はできるのにADD B,(HL)は 
できないのかとか、相対アドレスのCALL命令はないのとか、 
スタックフレームポインタとして使いたいのにLD HL,SPっていう命令ないじゃんとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからZ80使うんじゃねーよ) 
それと戦わなければならないのでしょう。そして時代によって決着している、 
過去30余年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

xinit

http://toro.2ch.net/test/read.cgi/unix/1011306728/134

134 :名無しさんお腹いっぱい。:2012/07/15(日) 14:17:53.53
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、X Window System上のアプリケーションを 
使用するのは聞いていたのですが、OSを起動して黒いバックに白い文字だけの 
英語の画面に表示されていたのはlogin:というプロンプトでした。 

「うへぇ~、よりによってxinit方式かよ」 

CUIログインなんて古い、コマンド入力なんて古い、今の奴は日本語入力設定大丈夫 
なのか(XMODIFIERS)、今時のマルチシート環境対応できるのか不安はつきませんし、 
xinitユーザーが少ないのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にxinitに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、X11で唯一$HOME/.xinitrcを手書きするというCUI方法環境設定できた 
xinit方式は大学など教育機関に浸透していて、日本X11界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、GNOME/KDEはどうやって起動するのか、 
ウィンドウマネージャを終了したらXごと落ちたとか、ck-xinit-sessionはないのか 
などと、X11通気取りの偏ったどうでもいい我侭を言い出し(だからxinit方式にするん 
じゃねーよ)それと戦わなければならないのでしょう。そして時代によって 
決着している、過去25年のX11界隈のくだらないそれらの議論が再現され、 
それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではgdmでもkdmでもwdmでも 
xdmでもなんでもいいですがグラフィカルなディスプレイマネージャにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

tcsh

http://toro.2ch.net/test/read.cgi/unix/1094041299/383

383 :名無しさんお腹いっぱい。:2012/07/12(木) 19:20:13.06
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 
使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは 
#!/bin/tcshという文字列でした。 

「うへぇ~、よりによってtcshかよ」 

ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 
今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスおかしいし、 
今時の担当者が扱ってセキュリティ大丈夫なのか不安はつきませんし、 
スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初cshに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、シェルで唯一aliasやhistoryやジョブコントロール機能が使えた 
csh大学など教育機関に浸透していて、日本シェル界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか 
$<でファイルから読めないのかとか、if文の条件式のコマンドリダイレクト 
できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し 
(だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではbashでもzshでもkshでもashでも 
Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続く。

2008-07-10

csh

#! /bin/csh -f

##処理選択
echo "処理を選んでください"
echo "1 Dir生成"
echo "2 Dir削除"
echo " "
echo -n "No入力 1 or 2 :"
set num <$


##入力エラー処理
##1でない or 2でない場合はエラー出してシェル再読み込み
if [ $num != 1 -a $num != 2 ] ; then
  echo "入力エラー。1か2を入力してください"
 select.csh
fi  

##以下numは1か2

##実行許可入力
if [ $num = 1 ] ; then
  echo "1 Dir生成を実行します Y or N"
  echo -n "Y or N を入力してください"
 set Ans <$
fi

if [ $num = 2 ] ; then
  echo "2 Dir削除を実行します Y or N"
  echo -n "Y or N を入力してください"
 set Ans <$
fi

##入力エラー処理
##Yでない or Nでない場合はエラーを出してシェル再読み込み
if [ $Ans != Y -a $Ans != N ] ; then
  echo "入力エラー。YかNを入力してください"
 select.csh
fi 

##以下AnsはYかN
##シェル選択&実行
if [$num =1 -a Ans = Y] ; then
  source kadai2.csh
  echo "Dir生成が終了しました"
fi

if [$num =2 -a Ans = Y] ; then
  source del.csh
  echo "Dir削除が終了しました"
fi

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