「ライブラリ」を含む日記 RSS

はてなキーワード: ライブラリとは

2020-05-27

anond:20200527140128

現代でも高級言語とかライブラリがあるとはいえ1人月で作るとか自分に縛りプレイかけるくらい出来そう気がする

2020-05-26

プログラミングなんてブラックボックス的にライブラリだのAPIだの扱えればいいんだよ

中身の原理なんて知らなくていいんだよ

お前らの使うコンパイラインタプリタの中身の動作も知らずプログラミングしてんだろ?

CPUOSブラウザスクリプトエンジンなどが内部的にどう動いてるか知らんでプログラミングしてんだろ?

何もかもブラックボックスなんだよ

競技プログラミングだってアルゴリズムデータ構造理屈なんて知らなくたって答えさえ合う出力が出来りゃいいんだからブラックボックス的に習得すりゃいいんだよ

簡単

プログラミング初心者C言語から入門するのはオススメしない、と思っていた

一般論で考えて、それは100%正しい。機械制御のためにプログラミングを学ぶとか、計算機科学が専攻なのでなければ、もっと抽象度が高く、ライブラリ豊富言語を選んだ方が、手早く目的を達成できる。

しかし、現実は違う。多くのプログラミング初心者は、プログラミングで何がしたいのか、それに必要技術要素などが思い浮かんでいるわけではなく、大抵の場合、どの言語でやっても変わらないようなことをすることになる。

そして、これはもっと本質的問題なんだが、ぶっちゃけプログラミングの出来不出来は、言語の差よりも個人の差に圧倒的に大きく左右される。つまり、出来るやつはCから始めようが出来るし、出来ない奴はRubyPythonから始めようが出来ない。これが現実

2020-05-24

anond:20200524143939

流行ってないかライブラリが増えない

ライブラリが少ないから(基本機能はかなりリッチなのに)人が増えない

この悪循環

でもな、Cのライブラリ使うのはかなりかんたんなんよ

Python勉強し始めたのだが

NumPyライブラリを使うとき、頭の中でいつも「ナムパァイ」って言ってしまう。

昨今のエンジニアって稼げるよって風潮

いやまあ、稼げるよ、稼げるけどさ・・・

まず第一エンジニア仕事理解できてない、誰とはいわないがyoutuber広告あいつな

エンジニアはな、専門的技術提供するとか、解決提供するとか、プログラミングすることが仕事じゃねーぞ

そもそも商品サービスを客さんに提供してて、その対価で飯食ってるんだよ

他大抵の仕事と一緒だって

俺は20代の終わりを迎えた頃で業界ゲーム系だけど年収は1200万くらい

それはあくまゲームなら他の人より優れたなにかを会社に、スポンサーに、お客さんに提供できるてるから

エンジニア技術だとか手法じゃないんだって

そんなもん本読みゃ書いてあるがな(それすらしないエンジニアはお察しだけど)

だし、なにが流行ってるのか、流行っていくのか、今のiOS/Androidセルラン見てるかとか、プレイしてるとか

最近はどんなアウトゲーム設計が受け入れられてるのかとか、そっちのほうが遥かに重要だぞ、ゲーム特に

同じくWeb系も最近ライブラリだとかそんなもんどうでも良くて(というか最近無駄に複雑になってる)

サービスにどう焦点をあててリリースすんのかとか、サブスクめっちゃ流行ってんなとか、

そういう目線持たないと給料なんて上がんねーよ、当たり前だろ

2020-05-23

anond:20200521175300

どもども。

「なにか作ってみろ」は有効アドバイス

わたし意見と経歴

わたしは「なにか作ってみろ」系の言説にはまったく同意しません。

わたし自身会社に3ヶ月間みっちり導入教育をしてもらい(COBOL85とPL/I時代がわかる……)、基本的アルゴリズムコントロールブレークマッチング、マスタ-トランザクションソートマージetc.いよいよ時代がわかる……)の演習を(給料をもらいながら)やって、その後もプログラムとつかず離れずでフラフラと生きてきました。

こういう経験新卒カードがあるから有効もので、では1から始めるとしたら……、というときに、プログラミングスクール専門学校)というのは悪くない選択肢ではないかと思います。が、行ったことないので正直わかりません。

実際自分が1から始めるという立場になったら、まったくオロオロして元増田さんのように世のなか(の気にいらないヤツら)に呪詛を吐いて満足するだけだったと思います(当然ながらそれをいくらやってもプログラミングは上達しません)。

「なにか作ってみる」前に動機をはっきりさせる

話をプログラミングだけに限っていえば、一番大事なのはやりかたじゃなくて動機だろうと思います

「なにか作ってみよう」というのは、なにか作ってみようと思ってない人にはまったく心に響かないでしょう。

動機リブンで「なにか作ってみた」人といえば思いだすのは、MikuMikuDance樋口優さん(ミクを簡単に踊らせたい!)とhinadanの若宮正子さん(高齢者にも遊べるゲームが欲しい!)でしょうか。

ただかれらはわたしから見れば(モチベーションを維持しそれを行動に移す)天才で、あんまり参考にならないのも確かです。

作ってみた」は就職に使える経験

あと、元増田さんの動機は「プログラミング生業にしたい」ということなので、野良プログラマでは履歴書上でのアピール力が弱いかも、と思います

ビジネスで使われるアルゴリズムにはそれなりのルールがあります安全な(バグの出にくい)コードの書きかた、「車輪の再発明」はぜず、枯れた(将棋で言えば定跡のような)アルゴリズムを使う、ほかの人に使ってもらえるための工夫(可読性の向上など)、etc.です。

「なにか作ってみよう」を繰りかえしても、そういった作法的なものが身につくかどうか、それは才能に関わってくる問題だと思います。才能だのみの手法を推奨するのは無責任だと思いますね。

また、たとえば「例をコピーして解析する」というのもある意味有効プログラミング学習法ですが、「下手に習うと下手が伝染る」ともいいます。どれがお手本として優れているか、それを見る目はある程度ビジネス用途プログラムに関わっていないと持てないというジレンマがあります

野生のプログラマ就職有効なくらいの力を見せるとしたら、なにかのコミッター(なにする人かよく知りませんが)とかになって「××ならこの人」となったり、プログラミングコンテストで上位の成績を残したりしなければいけないのかもしれません。

どうしたものでしょうね。ブクマカのみなさんの反応を見ると、専門学校でもあまり就職に有利にならない(ホントか?専門学校意味あるのか?)という話ですが、目的就職ならば、一番の近道のような気がします。

じゃあどうすべきか?は他人にはわからない

そこらへんからは、元増田さんがなにをしたいか、あるいは聞いてみたいだけだったのかによります仕事には適性とやる気が大事です。あとは年齢と必要性かな。進路はオーダーメイド以外にはありえないので、提示された案を自分で選んでそれに賭けるしかないのかな、と思います

「なにか作ってみました」の記録

自分がまず作ったもの晒してみろよ

さて、この文章は実はこの一文に反応してのものです。(↑のは前書き)

GWあたりからトシも考えずにRubyの再入門をしていまして、手始めに「首相動静」の整形ツールを作ってみました。

初心者で(Rubyに関しては仕事で使ったことないので)なにか作ってみよう、というとこの程度ですね。

これで就職に有利になるかというと、あんまりそうは思えないなあ。Excelマクロが組めるとかのほうがどこかの事務所に潜りこめそうですよ(でもそれも最近インフレ気味かもしれませんね)。

なにをするツール

朝日新聞首相動静は詳細ですが、改行が入っておらず、大変読みにくいものです。こんな感じです。

首相動静の例(2018年12月11日……話題になったものです)

 【午前】9時31分、自民党本部。33分、同党役員会。10時2分、官邸。5分、閣議。21分、宇宙開発戦略本部。34分、柴山昌彦文部科学相。38分、岩屋毅防衛相。41分、山下貴司法相。11時3分安全保障と防衛力に関する懇談会

 【午後】0時11分、政府与党連絡会議。44分、山口那津男公明党代表。1時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長。2時20分、行政改革推進会議。52分、兼原信官房副長官補、秋葉剛男外務事務次官。3時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。4時7分、太田氏出る。可部生理局長加わる。15分、全員出る。25分、黒川弘務法務事務次官。34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。41分、谷内、宮川両氏出る。5時3分北村氏出る。10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。20分、官邸。6時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。27分、アクフォアド大統領会談。7時12分、署名式、共同記者発表。32分、公邸首相主催の夕食会。8時43分、アクフォアド大統領見送り。9時、ヨルダンのアブドラ国王電話協議

首相動静フォーマット

ただ、これはフォーマットがはっきりしており、

  • 午前と午後はそれぞれ1行になっていて、行頭には【午前】/【午後】という文字列が付いている。
  • 午前と午後の間には空行がある。
  • ひとつひとつイベント時刻表示で始まり句点「。」で終わっている。
  • 時刻は「h時m分」型で、前ゼロはつかない。後にかならず読点「、」が付く。「h時」の部分が前の項目と同じ場合には省略する。
  • 午前いっぱい、午後いっぱいの予定の場合には時刻をつけない(他の首相動静から)。

と、例を見るかぎりキッチリとしたルールに則っているようです。

動機

なので、「これだったら整形できるかも」と思い、再び学びはじめたRubyで整形ツールを作ってみることにしました。

整形ツール
ツール仕様
整形後の例(上記動静を整形)

【午前】

09時31分、自民党本部

09時33分、同党役員会。

10時02分、官邸

10時05分、閣議

10時21分、宇宙開発戦略本部

10時34分、柴山昌彦文部科学相

10時38分、岩屋毅防衛相

10時41分、山下貴司法相

11時03分安全保障と防衛力に関する懇談会

【午後】

00時11分、政府与党連絡会議

00時44分、山口那津男公明党代表

01時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長

02時20分、行政改革推進会議

02時52分、兼原信官房副長官補、秋葉剛男外務事務次官

03時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。

04時07分、太田氏出る。可部生理局長加わる。

04時15分、全員出る。

04時25分、黒川弘務法務事務次官

04時34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。

04時41分、谷内、宮川両氏出る。

05時03分北村氏出る。

05時10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。

05時20分、官邸

06時18分、ガーナのアクフォアド大統領を出迎え。記念撮影

06時19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。

06時27分、アクフォアド大統領会談

07時12分、署名式、共同記者発表。

07時32分、公邸首相主催の夕食会。

08時43分、アクフォアド大統領見送り

09時00分、ヨルダンのアブドラ国王電話協議

う~ん、見やすい!ことないですか?

あと、午後の時刻を24時間制にしたいな、とも思いますが、それは今後の課題(つぎに首相動静話題になったとき)とします。全角数字計算ってどうやるんだろう?

ソース

たぶんRubyistにいろいろ突っこまれると思うけど、こんな感じです。

プログラマ玉石混淆ですが、これは石のほうの例だと思っていただければさいわいです。

はてな記法にはシンタックスハイライトあるけど、増田だとInternal Server Errorになるのではずしました。見にくくてスマソ。

# encoding: utf-8
# 漢字コンバータライブラリを取りこむ(String漢字変換メソッドを付けてくれる。神)
require 'kconv'

# 正規表現パターン
# 時刻をh時m分形式からhh時mm分形式にする
# 否定後読みを使用する
# 時は行頭にある
OneDigitHour = /^((?<![0-1])[0-9]時)/
# 分は時のあとにある。このパターンマッチすると、\1が時、\2が分になる。
OneDigitMinute = /^([0-9]{1,2}時)(?<![1-5])([0-9]分)/
# 分のない、時だけの行のパターン否定先読み使用
HourWithoutMinute = /^([0-9]{1,2}時)(?![0-5]?[0-9]分)/

# 行頭のh時m分をhh時mm分にするサブ処理(これは関数といっていいの?)
def convTopHourMinute2TwoDigits(oneLine)
    # 時を変換
    oneLine.sub!(OneDigitHour, "0\\1")
    # 分を変換
    oneLine.sub!(OneDigitMinute, "\\10\\2")
    # 分がない場合"00分"を追加
    oneLine.sub!(HourWithoutMinute, "\\100分")
    # 戻り値
    oneLine
end

# 入力ファイル名前
InputFilename = "首相動静2018年12月11日.txt"
# 出力ファイル名前
OutputFilename = "首相動静2018年12月11日_編集済.txt"

# 入力ファイルオープン
inFile = File.open(InputFilename, "r")
# 出力ファイルオープン
outFile = File.open(OutputFilename, "w")

# 時刻パターンシンプルに、h時、m分、h時m分、という3パターンを結合する
# 1つのパターンで全部カバーするよりこちらのほうが見やすい。というか、脳の容量の問題で1文に書ききれなかった
jikokuPattern = /[0-9]{1,2}時[0-9]{1,2}分、|[0-9]{1,2}時、|[0-9]{1,2}分、/
# 午前/午後
ampm = /(【午前】|【午後】)/

# 午前/午後、あるいは時刻の前で改行するためのパターン
kaigyouSign = Regexp.union(ampm, jikokuPattern)

# ファイル一括読み込み
# 昔は1行ずつ読みこんでました。メインメモリが3MByteとかだったので
contents = inFile.read.toutf8

# 入力終了。閉じておきます
inFile.close

# スコープ関係から、ここでローカル変数に代入
# ※ Rubyスコープと暗黙の型には泣かされました。これに慣れるのがRubyのコツかしら
#  明示的な型宣言はあったほうがいいと思うなあ。エラー出力の理由がわからなかったりするので。
hour = ""

# デバッグ行はコメント化しています
# 時刻パターンチェックのため、コンテンツを出力してみる
# p jikokuPattern.match(contents)

# エントリを改行サインで行に分ける
contents.gsub!(kaigyouSign, "\n\\&") # "\\&"はマッチした文字列のもの。2重のエスケープ"\\"が必要

# 改行チェックのため出力
# p contents

# 入力を行で分割して各行ごとに処理
contents.split("\n") do |oneLine|
    # 午前/午後を示す開きカッコ"【"があるか
    if (oneLine =~ /^【/) then
        # そのまま出力
        outFile.write(oneLine + "\n")
        # p "午前午後:" + oneLine
        next
    # 空白行は無視スキップする)
    elsif (oneLine =~ /^[\s ]*$/) then
        # 出力しない
        # p " 空白行:<skip>"
        next
    # 行頭に「時」があるか
    elsif (oneLine =~ /^[0-9]{1,2}時/) then
        # あったら時間表示を抜きだしておく
        hour = oneLine.match(/^([0-9]{1,2}時)/)[0]
        # p "   時:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
        next
    else
        # 「時」がなければつけて出力
        oneLine = hour + oneLine
        # p "普通の行:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
    end
end
感想

手でやったほうが早いね

以上

anond:20200521175300

10年超のプログラマやってるものだけど自分の成長過程を書いてみよう

  • この後にもいろいろあったが面倒になってきたから省略。しょぼいゲーム会社就職する。
    • JavaScript でなんか色々作る
    • Python でなんか色々作る
    • C# でなんか色々作る
    • はてなを始めたり

2020-05-22

anond:20200522135642

いや、だから、それはあくまでも研究のためにプログラミングもするという話であって、東大京大SIerあたりで重宝されるようなコーダー養成するわけじゃないでしょ。あくまでも研究が中心なので。

もちろん自分勉強して優秀なプログラマになるやつはいるんだけど、それは基本的に独学しているわけで。。

ちなみに、東大でも京大でも分野によってはいまだにFortran教えてますよ。行列計算は得意だし、ライブラリの蓄積は凄いし、今でも標準言語になっている分野もあるし。(もちろんFORTRAN77とかじゃないけどw)

anond:20200521175300

"重要からもう一度言うけど、とりあえず作れに賛同するやつは自分がとりあえず作ったもの晒せよ?"

クソみたいな煽り増田だけど、自分プログラマ歴を振り返るにはいいかもな

 

 

以降は大学グラフィックスを専攻、課題とかサークルコーディング

この段階でプログラマと言ってもいいと思う

いずれも成果物は残っていない(古いHDDに残してきた)

VPSのCent OS 6.1がもう少しでEOSから移行しないといけないんだが

VPSLinux勉強兼ねてWordPressを動かしてブログをやってるんだが

Cent OS 6.1のEOSが迫っているのでやることを考えてみた。

・新しいバージョンのCent OSが入ったVPS環境を用意

ログイン方式SSHに切り替え

・一通りのセキュリティ設定の確認と変更

WordPress必要Webサーバデータベースに関連するライブラリインストール

VPSスペックに合わせてWebサーバの設定変更、適宜チューニング

WordPress本体インストール

・旧環境からWordPress環境データ移行

・新WordPressでの動作確認

ドメインのAレコード書き換え

・旧環境からWordPressへの301リダイレクト

・新WordPress環境の公開

うおーつらい。そもそもセキュリティに関する情報とか追従もできなくなっていたし、

VPSは辞めた上でブログを移そうかなあ……。

独立性を維持しながらブログ継続するって大変だなあ、皆こういうのどう考えてるんだろう。

2020-05-21

anond:20200521233716

大学計算機科学結構本格的に教えてくれるから

コンピュータサイエンスの基礎が理解できている人間と、

APIライブラリの使い方知ってるだけの人間では、手がけられる仕事範囲全然違うし生涯年収も違う

初心者向け】プログラミング言語人気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

teratailを使ってみた

使う前の印象はヤフー知恵袋並にマトモな回答が来ないと思っていたが、

割としっかり質問意図を汲み取り、補足までつけてくれて驚いた。

ちょっと踏み込んだ内容だと回答は来なくなるけど、新しいライブラリを使う入り口として使うのも悪くないのかなと思った。

m.ts10806に会うまでは。

コイツ運営なのかってぐらい修正要望してくるし、

どう検索しても1つしかないページのurl要求してくる辺り怪しいと思った。

んで、少し小馬鹿にされたのでコイツ調べると初心者バンバン回答してたの見て、

パッと見て適当に回答してるやつだと分かった。

プログラミングの回答って、変数宣言の仕方並の質問じゃないとバンバン回答できるものだと思えないので。

teratailを使う際には中級レベルより上の質問を出したほうがいい。(回答が来るのは期待しないほうがいい)

簡単そうな内容の質問だと、やった事も使ったこともないのに適当憶測をほざく上位ランカーがいるので。

質問が糞だと言われてることも多いが、それに突っかかる回答者の方がキチなので質問が来なければ考え編集し、回答が来るのを待とう。

からなければ質問する。これは回答者だって同じこと。

わざわざ質問に指摘するやつは総じてゴミなので気にしないこと。

しっかりヒアリングして、質問者に分からないことは質問し、優しく丁寧な答えを導き出す人が本物の技術者だと思ってる。

にしてもこいつムカつくな。

ブロックできんのか

anond:20200520170718

どの言語、どの環境からとりかかるかが難しい。

UNIXMac含む) vs Windows

汎用エディタ vs IDE

コンパイラ言語 vs スクリプト言語

ライブラリ選択

メインストリームかつ古すぎないチョイスができるようになったらそれはもう一人前。

言語環境選択のためにはメンターがいた方がいいかもね。

プログラマーになりたいなら

いろいろな意見記事が出てるけど。

これをもしプログラマーになりたくて見たなら、今すぐ何でも良いから作るもの決めて作りきろう。

言語は何でも良い。

作り切るためにスクール必要になったら使おう。基本的には決めた言語リファレンス見て、必要に応じてライブラリ探して。

自分調査理解する能力なければ、スクール行ったところで使えるプログラマーにはならない。

もちろん他者の知見でしか学びにくいものはあるけど、動機がなんとなくや安定しそうレベルスクール通ったところで教科書に書いてあることしかできないので、プログラマーにはなれない。

2020-05-19

anond:20200519194959

三角関数なんか分からなくてもゲームは作れるぞ。

2Dゲームにはそもそも不要だし、3Dゲームでもライブラリ呼んどけば後はいい感じにやってくれるから意識しなくても問題ないぞ。

2020-05-18

google photo自動的過去写真を定期的にお知らせしてくる。2年前、あなたはこんなことをしていましたよ、って教えてくれるのは、昔のアルバムを開いているようで、デジタル保存された写真自分から見返すことがなくなる問題をうまく解決していてすごいなと思う。

2年前に西アフリカ農村ツルハシ持って炎天下の中農作業していた俺が、今はウィーンITベンチャー就職してAWS上でPythonライブラリを開発するようになるとは思いもよらなかった。

2020-05-17

anond:20200517163354

いろんなプラットフォームでいろんなコードが書かれるようになったらそれ無理だと思うけど。

monacaっていう、JSスマホアプリを書くライブラリを使ってるけど、それでも互換性の問題がでてくるし。

2020-05-03

anond:20200503022036

難癖つけるとしたら、

そのライブラリ本当に信頼できる?事前に検証した?って事くらいかな。

今回のC問、みんな難易度高かったって言ってるけどpythonライブラリどーんってやって一瞬で解けちゃったので「あれ?俺またなんかやっちゃいました?」っていう気分

2020-04-30

経験の応募者をバカにしたツイートがあった

wantedlyの応募、今のところ8~9割くらいが未経験プログラミングスクール通っています

よくみて!うち、XRとかやってるよ!?

HTMLとかCSSでなんとかなる仕事じゃないよ!?

ツイート主のサイト採用情報をみたら

あると望ましいスキル経験Node.js ライブラリを利用した開発経験

HTML知識HTML テンプレート言語知識

CSS知識Sass などの CSS 拡張言語知識

Gitを利用した開発経験

コードレビュー(する/される)の経験

PHPフレームワーク上での JavaScript コード保守運用面の改善経験

2020-04-27

anond:20200427123816

ロゼトーマス

鋼の錬金術師』に登場するキャラクター

ロゼ・R・クロフォートとは、『約束の地リヴィエラ』に登場するキャラクターの一人。

ロゼリリエンタール

Triangle18禁PCゲーム「魔動装兵クラインハーゼ」のメインヒロイン

ロゼ

RPGテイルズ オブ ゼスティリア』のヒロイン

ロゼ

六神合体ゴッドマーズ』に登場するマーグの副官。

妄音ロゼとは、UTAU向けに作成された音声ライブラリおよび、そのイメージキャラクターである

天々座理世(てでざ りぜ)とは、Koiによる日本四コマ漫画、「ご注文はうさぎですか?」に登場するキャラクターである

神代利世(かみしろりぜ)

東京喰種」に登場するキャラクター

リゼ・ヘルエスタとは、いちから株式会社運営する「にじさんじ所属ブラコンバーチャルライバーである

エリゼ・シュバルツァーとは、英雄伝説 閃の軌跡に登場する登場人物であると同時にシスコン兄を愛するブラコンであるCV後藤沙緒里

カタリナとは、スマートフォンゲームグランブルーファンタジー」の登場人物であるフルネームはカタリナ・アリゼ

ジョルジュ・ビゼー(1838~1875)とは、19世紀に生きたオペラを中心とした作曲家である

ジェラール・グリゼー(1946~1998)とは、クラシック音楽のうち現代音楽に属する作曲家であり、1970年代から始まるスペクトル楽派の始祖の一人である

A・オリゼーとは、一般的に麹または麹菌と呼ばれる菌の一種である

2020-04-26

まぁでも ライブラリはいろいろあるが まぁそんなにあたらしいということもなく粛々と

それでも昨今、これはとおもうような技術を学べてうれしいやら、なさけないやら

2020-04-19

データサイエンティストって具体的にどんな仕事してるの?

一年前くらいから一応データサイエンティストとして働いてはいる.

Pythonライブラリを使って散布図を出してみたり,LASSOで回帰して「この変数重要ですね」って言ったりするだけで有難がられてはいる.

でも少しライブラリの使い方を調べれば誰でも出来ることだし,こんなんでいいのかっていつも思う.

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