はてなキーワード: Perlとは
大きく分けるとC言語系、Java系(VM 系)イ どうみても古いpthreadの方がはえーだろ、
ンタプリタ系にわかれる。様々な違いがある と思うこともあるが、まぁ、時代の流行をか
が言語という意味で今回はインタプリタ系を んがみ書いていくことが大切である。
中心に説明をしたい。 VM系という意味では、スタックマシンを勉強
インタプリタ系の場合PerlやPythonなどP系 しておくとよい。レジスタをもつスタックマ
言語と呼ばれる言語が主流である。この中で シンなる謎概念を面白く読めるのでよい。
は扱いやすさと重視してpyhon2.7を語ってい
く
の最新の用語があるが、死言として消えてい
盛というものはかならずある。
\++,C++11,C++17,C++2Aなどのように時代の流
行というものを取り入れているために変化が
ある
放置→spam業者の垢乗っ取り被害みたいなのも非表示にしてるから
だいぶ嵩増しされてるが。
AKIMOTO
AKIT
AQM
AcidReflex
All-SportsWatchGameFreeTV
AnetaH
Ann91
Apeman
Arturo_Ui
AspergerSyndrome
Assume
AvengersTV
Ayrtonism
BIFF
BUNTEN
BigHopeClasic
CATDOG
CBR400R
CHIKANA
Cai0407
Capricornus
Carnot1824
ChieOsanai
Chitanz
Cliche
Clock0311
Com
Cottonton
CrowClaw
Cru
Cujo
Cunliffe
D0X7akE0
D_Amon
Dai44
Dicer
DocSeri
Domino-R
Dursan
ERnanchan
EoH-GS
Erl
FEFE
FUKAMACHI
FaceToFace
Falky
Fi-mk2
FlowerLounge
Fluss_kawa
Fondriest
Futaro99
G17
GClick
Galaxy42
Gelsy
Ghuk
Gim
Gl17
GluttonousSeals
GreenTopTube
Gustav13
HAQportal
Haaaa_N
HadukiMikoto
Halb-Ritter
HanPanna
Harnoncourt
Hary
Hatsuoji
Hayano
Helfard
Hellothere
Hidemonster
Hige2323
HimaJyun
Hohasha
Hy0nN
I11
IGA-OS
II-O
ITAL
IZutsumotti
I_L_S
IkaMaru
Innovator00
IvoryChi
JLeague-JP
JNP
Jang
Jcm
John_kit_tea
Josequervo
July1st2017
K-Ono
Kanade1128
Kirkraren1980
Kouboku
Kurilyn
LO05
LaNotte
Lamontreylu1980
Lhankor_Mhy
Lif
Little_kt
Livetv33
Lorimilna1988
Louis
MCBYND
MS310ru
MVP1
MandP1034
MermaidSong
Midas
Mochimasa
Mu_KuP
Mukke
NAMEOVER
NMST
NSTanechan
Naotoh
Naruhodius
Ncaaf
Nean
Normalmode
Notizie
OnLive27
OnLive76
OnLive78
Osushii
Outfielder
PYU224
Panthera_uncia
Personalpreference
Pokopon
PopStar
Pz-4
QJV97FCr
RIP-1202
ROYGB
RRAK
RRD
Ri-fie
Rinta
Rocco
Roen-hi
SABAKU
SANK-Y
SENAKA
S_heiya
Saratoga
Seitekisyoujyo
Shibh
Shin-Fedor
Shinwiki
ShoCoh
Shotaro0804
Sinraptor
SndOp
Syuku
Syunrou
T-SWEET421
TAKAPPRS
TM2501
TMCNE
TOM555
TT_TT
Tailin
Talgo
Tamikapdelin1982
Taradoorfhes1970
Toka22
TokyoWorker
Toteknon
Unihara
Unimmo
Utasinai
Wafer
Waspkissing
Watchlivenow
WereIm
Windfola
WinterMute
X-key
YUKI14
YukeSkywalker
YxOx
ZGOK
ZOE-c10h8
Zephyrosianus
a-lex666
a1ot
a20130517
a96neko
a_s_n_t
aaa_too_zzz
aaikos
abidingfan77
abirahemmed1gm
academij
acealpha
aceraceae
ackey1973
activecute
actrace
ad2217
adliblogger
afeafea
affiliate2414
afnfan
agathon
agricola
agtmw287
ahobokekasu45
aikawame
aikoku_sensei
airj12
akatibarati
akatuki_sato
akawi
akiat
akibare
akikonian
akisato333
akizuki_b
akupiyo
akutagawa0319
akyuna
algot
alivekanade
alleventlive2free98
allheal
amd64x64
amerio
amy385
andsoatlast
angmar
anigoka
anmin7
antonian
anus3710223
anziykr
anzuchang9999
aoba_lain
aodifaud09
aoi-sora
aomeyuki
aopis
aoven
aoyagis
apocryphally
apple0063
aquatofana
aquid
arearekorekore
areyoukicking
argame
arguediscuss
arrack
aruim0
arukam
arumaru
asahichunichi
asakuhiroi
asamaru
asiatics
at2002
atashi9
atasinti
atcelacu
atg105
atg106
atg107
atg3
atg31
atg32
atg33
atg34
atg37
atg4
atg8
atgh12
atgh13
atgh20
atoz602
atsuYj
augsUK
automaton37564
aw18831945
axaxaxaxxaxaaxaxaxaxaaxaxa
aya_momo
azumakuniyuki
b-zou3
b8e4257b7263l255
baikoku_sensei
bakabakakyoujyu
banban
barbieri
barubari2955
bashico7
batti-8
bbc-21
beeworks
beginnerchang
behuckleberry02
bengal00
beramines37
bestfavare
beth321
bfms350
big_song_bird
bigapple11
bigchu
bijotaku
bisuta
bjqrn063
blueboy
bn2islander
bobjoker
bocbqcmn
bocuno
bogus-simotukare
bohemian916
bongkura
bookworm24
boshi
bottomzlife
bouzuya
branc3
brendon
brimley3
bronson69
bt-shouichi
buddymotoo
buhe1
buhikun
burany
buu
bzb05445
bzt027400275
c0ntinue
c430c
c_shiika
cabinotier
cake_holl1515
calcnews
call_me_nots
came8244
carl_s
carp1640
carpediem29
cartman0
catcupid
catra
causeless
caynan
cgavwbyh
cha9
chako00
chanbobo
chaxxrin
che-hiroshi
check_genpatsu
chekan
chess-news
cheva
chibatp9
chicken22
childrenofnature
chintaro3
chnpk
choumi
chousuke7
choyu
chroQ
chrty
chuntanqui
cia62872
cider_kondo
cinefuk
cinquecent
civaxewige1
cj3029412
clample
clapon
clclcl
cleome088
cloq
cloudliner
clworld
coldsleepfailed
coleo
colo_t
confi
contents99
coper
corydalis
cotbormi
counterfactual
cozyweblife
cpmountain
crexist
custardtarte
cvshin
cyber23s
cyciatrist
d-ff
d00app560
dAbruzzo
daigan
daiki_17
dareshimu
daryl
davs
dc42jk
dd369
death6coin
dededidou
deep_one
dekaino
denen_boogie
denimn
despair0906
deztecjp
dgen
dgwingtong
differential
dikidiki0303
disfordoraemon
dissonance_83
dive-star44818
dj19
djkaz
dnangel0326
dobonkai
dochan
dodorugefu
dogdogfactory
dohenkutsu
doko
dokuo5577
dolananna
dollarss
domimimisoso
don_ashill
doorjnk001
dorje2009
doubleup
dowhile
downist
doycuesalgoza
dozo
dpdp
dptp
dreamtreasure
drmn_nobt
drugmax813
dummy1
dumpsterdive
dusttrail
dwnrvr
dzd233dl
eachs
economy45only
edo04
egory_cat
eijiasakura9281
einherjar
el-condor
elm200
emgp
en-en-ra
en6613
enderuku
ene0kcal
enjkiujhb2094huo
enkunkun
envygreedlust
enyamix
eo64air
epanda0000
erenexpo
eringix
eriotto
erisinokameus
esky
euda
euhzcp3gc181
evergreeen
evertex
extremelymrh
f1jly1vr
f6731713
facebooook
fai_fx
falkbeer
fatpapa
fc2blog2me
feather_angel
feni_1192
fesi
fghfdtht
filinion
findup
fit1379
fituputth
fjb1976
fjmnjisue9832bhj
flabel
flagburner
flatfive
flatrdm
flowersroadside
flowing_chocolate
fn7
font-da
foolptr001
fops
foxhdtv
freedom_senzo
freestreamlive24
frothmouth
frss141
fujioka223
fujisan00
fujixe
fuka0211
fuka_fuka
fukken
fuktommy
fukuoka_cycle
fumisan
fusanosuke_n
g67sua
ga86
gabill
gaebeg
gakko-camp
gakutyann
gambol
gameshop-aki
ganbarezinrui
gaojin2180
gazi4
geeker
gekko11600
gendou
getlife
gggsck
giant-killing
gideon134
gimonfu_usr
giodnj9834bhud
girlicjam
gishabaha
giyo381
gkmond
glit-dc536
gmkzmrn
gnety
gnta
goennna
gon_o_lll
goturu
grdgs
greenbuddha138
gremor
grizzly1
gryphon
gtyou
gui1
guldeen
gulugulu
gums
guntiamon
gurutabi
gyusujist
h-s-e183
h1romi
h1roto
h5dhn9k
hagakuress
haha64
hakekeke
hal9009
halelkhannba
hamanano324
hamlet-r
hanajibuu
hapoa
harappa5
harsh88
haru-k
haruhiwai18
haruzoucom
hash_mikan
hatake
hatayasan
hate_flag
hatebupost
hatecha
hatehenseifu
hatekun0717
hatezawa
hatomugicha
haveahappylife
hayakuzaka
hazlitt
hd2h
hdampty7
hdstreamingj
heavymetalcommunist
hedgehogx
heis101
heiwaboke
hemetaka
hemm
hentekomura
heyacho
heyheyhey
heystarman
hfioajoakdj
hharunaga
hi3876dbhuoimkjd
hi_kmd
hibinothink
hiccha-ya-re
hidex7777
hiduki001
hilda_i
himajin774
himomen
hina1987
hinaho
hinata0801jp
hindjack
hir_o
hiraiwa
hiroaj
hirofmix
hirokinko
hiromiasaba
hiroomi
hiroseki
hiroyuki1983
hiruhikoando
hiruneya
hisa_ino
hisamura75
hisawooo
hkanemat
hmmm
ho4416
hobbling
hobo_king
hobohate
hogefugapiyox
hokkairo
hokuto-hei
homutawake
honehone9
honeybe
horita_ryo
hoshinasia
hoshinotane
hoshiyo
hosimisoh
hotokatika
hotspot0621
houjiT
houyhnhm
htnma108
htnmiki
hugie
hungchang
hxxoma77ruppq109
hyakki0
hyolee2
hyoutenka20
hyperash
i196
iasna
ibisyouta
icotan
igamother
iiiloveuuu07
iikoto23
ikd9684
ikemo10
iku-sawa11
indianapc
inferio
infobloga
inforeg
inkyubeta
inmysoul
interferobserver
inulab
inumash
invalid_touhu
investa
ippeichangg
iqm
irbs
ironsand
is11045
islecape
isuchan
ite
iteau
itochan
itohir
iuhya
ivory105
iww
iyochoo
j3q
jaguarsan
jakuon
jaleopm
japan4k
japaneventlive
japonium
jbgoode68
jgewhh4gh
jinsuba444
jiro68
jisyoha
jkr2348fsfsd
jmako
jofapezSS
jonemori
jou2
jpmccartney-jo
jqoikq3g
jsk430
jt_noSke
jun700614
jun_cham
junglejungle
junk6
junmk2
junpei191
junpeso
justgg
k-5t
k-kawademan
k-noto3
k3akinori
ka8727209
ka_ko_com
kabutomutsu
kachibito
kadani1
kado0428
kae1990
kaerudayo
kaeuta
kagecage
kagobon
kaionji
kaipu1224
kaishaku01
kaiton
kakei
kakonisayonara
kamenoi
kamezo
kanesada30000
kanflu
kangiren
kanpou004
kantei124
kantei3
kaokao
kaos2009
kashmir108
kata28nao
katabiragawa
kato_19
katouk
kawarun
kayumidome
kaz-coz
kaz_the_scum
kazuhiko11
kbysmsy
kdi29iqw
keiboudiary
keiko0903
keisuker
keitone
ken-ne86
ken-skatan
ken3154244436
ken31sa
kenchan3
keng310
kenjou
kennak
kent4319
khiimao
khtno73
kibitaki
kibunya552
kidspong
kiichi55
kijo_new
kiku-chan
kiku72
kincity
kingate
kirifue
kiss-a-ten
kitaazabu48
kiwipan
kiyoshi-n
kiyotaka_since1974
kj03
kk23
kkobayashi
kkzy9
kmagami
kmiura
knsknktsmn
ko2inte8cu
ko_kanagawa
koalala3
koba1Q84
kodebuya1968
koink
komachiyo
komamix
konaze
kori3110
kosa_0601
kosakichi659
kota-mishima
kotanyanko
kote2kote2
kotobatoko
kotobuki_84
kou-qana
kouchi203
kouhei_kain
kouzi2001
kowyoshi
kozai
ks051113
ksaitou
kssfilo
ku9mi3chan1
kuborie
kuippa
kumanomiii
kumonoko
kumonopanya
kunitaka
kura-2
kurisann000
kuro14
kuro_pp
kuromimi
kuronecox
kurotokage
kuwa-naiki
kuxttoba
kuzumaji
kvx
kxkx5150
kyasa116
kyo_ju
kyonasuika
kyotosagano
kyoumeo
kyoumoe
kyrina
kyurinigate
kz1985
kz78
lacucaracha
lady_joker
lavandin
lbtmplz
lcwin
ledsun
lejand100
lepantoh
levites
lieutar
life_love
life_meister
lifefucker
lightly
likekickstarter
linchan-_-_-1ban315
lisn_kim_hk
livealljapan
livehdtvtodayg
liveonline9
livetvvonlinefree
ll1a9o3ll
locust0138
lololol_stWh2
lost312
lotiontissue
lovetongue
lticbc
lucky0760
luxsuperpoor
m-naze
m13t4mc4
m_uchino
m_yanagisawa
ma-corpus
ma1a
maangie
macchatu
mae-9
mag-x
magaz11
magefee
magi00
maintenant478
makfive
mame_3
mamezou_plus2
mamohorPrep
manaten
mangakoji
manysided
maruX
masa_bob
masanoT
masha444mo
masm
masterline09
masterline11
masterline12
matomerry
mats3003
max_952
maxminkun
mayoi_inu
mazmot
md2tak
mechpencil
megazalrock
megumiotaki729
mehori
meme-o
metal2020
metamix
metorolancholia
mevius8l
mfsbatmirai
mgl
migimigi
migrant777
mihonobour
mikunikki
milkpup
minaminoani
mine3858
mini-chica4221
minonet
mio_wembley
mionhi
miquniqu
miraiez
mircokkun
miruna
misafusa
miyakawa_taku
miz999
mizumoto
mkomiya
mkusunok
mmmmmasao
mmuuishikawa
mo_hate
mobanama
mobile_neko
mobits
moegi_yg
mofrush
mog90a8
moge1967
mojemuxe1
monaken
monbran4989
moneypress
mongrelP
monobako2
monochrome_K2
monomonomoe
monopole
montnoir
moondoldo
moons
mooon_2005
moresmileman
morgen3ed
morita_non
moro0
morototo
morucy
morujimania
mostaga
mottii-cocoa
moxtaka
mraka2015
mrpotas
ms_0215_magy
mswar
msyk710513
mugiiiiiiiiii
mui2_beta
mujisoshina
munioka303
mur2
murderboy
mushioka
mutinomuti
mventura
myogab
myopia
n2s
n4klsio43ks
na02011
na23
naa_san
naaki
nabeteru1Q78
nagaichi
nagisabay
nagonagu
nakadai
nakag0711
nakakzs
nakayubi3
namikawamisaki
namisk
namnchichi
nanana_nine
nananakos
nanatujima
nanoha3
nao_cw2
napsucks
naqtn
narukami
narwhal
nasir161
nasuhiko
natsuhuku
natu3kan
natukusa
navix
naya2chan
nbagame
ncc1701
necDK
neconecoconecon
nekochiyo
nekoluna
nekonosab
nekora
nekota51
nemuiumen
nenesan0102
nennoyuraku
neogratche
nephar
nessko
nextworker
nezime
ngsw
niBorzoi
nibo-c
niftyabettor80
nighter13
nine009
ninosan
nippondanji
no-cool
no_more_jimin
noa777
nobinyanmikeko
noboxt0915
nobujirou
nobyuki
nochiu74
noemi_itoh
nofrills
nohmask
noitats
non3377
nonaka1007
noreru
nori__3
noroneko7
not_funassyi
notbychoice
notr85
nowa_s
nowandzen
nozakikun
nsoderland
nt46
ntnajp605
nuara
nuicksilver
nuke
nw_wind
nymuse1984
nyokkori
o3v379
o6maru
o_hiroyuki
oak_manabu
oakrw
ocasira
odenodoka
ogihara0308
ohaan
ohchidani
ohira-y
oiku1515
oka_mailer
okachan_man
okemos
oki07
okishima_k
oktnzm
oldriver
omaemonax
omega314
omi_k
omosoku
onefootinthegrave
onehiro
onlinetvstreams
ooblog
ookinaume
opemu
opps_long
ore_de_work
orewebe
oriak
oriheus
orihime-akami
oriwhat
oroshigane30
osaan
osakaeco
osugi3y
ot2sy39
otakky
otatomoko
otihateten3510
otokinoki
otonanomatome
ottyanko
otumina
oukayuka
outdoor-kanazawa
outer-inside
outroad
oxymore
p__o__n
pachi7151
pand
10年超のプログラマやってるものだけど自分の成長過程を書いてみよう
なんかマウントし始める人多いよね。同業者として恥ずかしいし申し訳ない。
「そんな質問をする時点で間違ってる」「なろうとしてなるものじゃない、好奇心に従って活きてたら自ずとなるものだ」とかわけわからん事いう奴もいる。
真面目に勉強する気なくて楽して稼ぎたいだけの奴になら、冷たく当たるのもまだわかるけど、ちゃんと勉強するつもりの人に言うのは違うと思うんだよなぁ。
俺の場合は真面目にやり始めたのは10年以上前だから、今よりずっとおおらかだった気がする。
高校生ぐらいの頃は、日曜大工みたいな感じでhtmlとかphpとかperlとかを下手くそなりに弄ってた。
大学でも関連する分野を専攻してたから、割と専門的な所も勉強しつつ、知り合いだけが使うちょっとしたWebシステムとか数ヶ月おきに1個くらい?ずつ作ってた。
まぁ4年くらいそういう風に過ごしてたら一通りの事はできるようになったよね。
これは単に俺の例で、時間もかかるし大人で転職したいって人にはあんまりマッチしない話なのも分かってる。
どうやって勉強するのがいいか聞かれたら最近はProgateあたりで一通りちょっとやってみるのを薦めることが多いかなぁ。
> 重要だからもう一度言うけど、とりあえず作れに賛同するやつは自分がとりあえず作ったもの晒せよ?
あと、そいつらにマウント仕返し?みたいな事してもしょうがなくね? あの攻撃的な一連の書き込みが元増田なのかはわかんないけど…。
俺は「とりあえず作れ」がひどいって事には同意するよ。
「どうやって作ったらいいか分からない」って言ってる人に「いいから一回作れ」って言うのは全然教育的じゃないもの。そもそも回答になってないし、ただのいじめだよね。
→ユーザー側で変更できないのでPontaのカスタマーサポートに連絡
「既に連携済」と表示される
→アプリのアップデートをする、しばらく時間がかかるらしいので待ってみる
「会員情報が一致しないため受付できませんでした(PERL-APCN-E4418)」
→下記参照
家族契約などで子供の回線も親の回線として契約されていることがある。auで回線の利用者登録が必要
https://www.au.com/support/service/mobile/procedure/user/
電話番号:auと同じ電話番号が登録してあるか?ハイフンが入っていると連携できない可能性あり
名前(フリガナ):名前に「っゃゅょ」など小文字が含まれる場合、auの登録は大文字になっていて連携できない可能性あり、BIGLOBEの契約している人だとローマ字になっていたりすることもあるらしい
おさいふPontaやクレジットカード付きPontaを発行していると変更できない
回線契約している人(au IDが電話番号の人)は変更できない
回線契約していない人(au IDがメールアドレスの人)は電話番号、名前(フリガナ)を変更できる
auの回線契約あり、おさいふPonta・クレジットカード付きPontaを発行してない
auの回線契約なし、おさいふPonta・クレジットカード付きPontaを発行している
auの回線契約あり、おさいふPonta・クレジットカード付きPontaを発行している
→ユーザー側で変更できないので各社のカスタマーサポートに連絡
生年月日が間違えてる
→ユーザー側で変更できないので各社のカスタマーサポートに連絡
高校入学時にパソコンを買ってもらって、FrontPageExpressってソフトウェアが入っていた。
触ったら、Webサイトを作るソフトって事を知って、その日に本を買ってHTMLでページを作った。
数日たって、掲示板を置いた。
その時にPerl言語を知って、ソースを見て何となくいじったりして覚えていった。
そんで、親戚が務めている会社のWebサイトを作ってくれって頼まれて作ったり、その会社経由でPCサポートのバイトをしながら
自宅でサーバを立ててみたくて、その時はFreeBSDをインストールして、色々必要なアプリのソースコンパイルしながらソース見て行って
C言語を何となく覚えて、自分でファイル圧縮を作ってみたりソケット通信作ってみたりした。
その後、たしか高3くらいでDirectXが面白そうでいじり始めて、一回挫折して
VB6で暇つぶしで電卓作ったり、関数をC++で作ってdll化とかしていて
ふと、DirectXをいじったらすんなり扱えるようになってたり
って感じで、とりあえず何かを作って表示させるってのは成功体験として凄く楽しいし、
だからといって、自分で調べないで教えてもらって表示出来ましたってのは、成功体験として弱すぎる。
何も見ずに全部作れるレベルになるまでには、相当な回数の検索をしないといけないから、その練習にもなる。
内容的にここで言われるほど、プログラミングスクールのカリキュラムや講師が悪いとは思えない
(あくまで20新卒、まとめサイトの運営とかAtCoderをちょっと触ってた程度の初学者の視点で見て)
劣化版メルカリを作るみたいな、新卒のプログラミング研修あるあるな課題だし
講師も総合職と一緒にやった研修会社のIT研修(ITパスポートくらいの知識)よりはかなりいい気がする
講座の内容についてRuby on RailsなんかはRailsチュートリアルとそこまで大きな差があるとは思えないし
細かいミスだったりは他人に見てもらったほうがすぐ直せたりするし、つまづいた部分を質問できるのはいいのでは・・・?
問題は入社してからほとんどPerlらしいのに、Rubyをやることくらいだと思う(人事の人に聞くとPerlを扱ってる研修会社がほとんど無いらしい)
自腹でやるならudemyとかだろうけど、新卒でこういう研修を受ける機会がなかった人がやる分にはいいと思うし
採用側が入社後に研修やらせる体制が無いから、スクールで研修っぽいことやった人を
未経験枠で採用するか・・・みたいなパターンはあると思うので、
プログラミング未経験者から「プログラミングを勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点で簡単に解説してみます。
対象読者はプログラミング未経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。
Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネットの世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページはグリグリ動きまくりである。
元々HTMLをちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人気プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。
ブラウザ上で動くプログラミング言語は基本的にJavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。
ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。
機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語。理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。
言語としては、誰が書いても簡潔で読みやすいコードになる傾向にあり、小さいプログラムを書くにはいい感じである。米国ではプログラミング教育にPythonがよく使われているという話も聞くし、初心者がプログラミングを始めるのにはいいのかもしれない。
将来AIやデータサイエンスをやってみたいと思うのであればPythonから始めましょう。
ランキングでは常に一位に近い順位をつける言語。Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去の資産やプログラマの数が多いのが一番の理由だと思う。AndroidアプリもJavaで書く(もしくはKotlin)。
実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所。短所としては、歴史ある言語で下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストはJavaScriptやPHP, Ruby, Pythonあたりに比べると高い。
正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称)JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAもJavaをかなりヘビーに使っているので要は玉石混交ということである。
Androidアプリを作ってみたいというならJavaからはじめるのはアリ。
Webページを作るためだけに生み出された言語。プログラマの数が非常に多い。日本で求人が一番多いのはJavaかPHPであろう。
初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルである。しかし基本的には古くてダメな言語とみなされており、PHPで作られたWebサービスは脆弱性が多いという都市伝説もある。真実は闇の中である。
近年のバージョンアップで比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。
Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。
最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#のプログラマは結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。
ただし.NETもUnityも触らない人にとっては基本的に縁のない言語である。
なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。
C言語に色々な機能を足しまくってできた巨大な迷宮のような言語。言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンスが重要な開発において使われる。アプリやサービスというよりは、それらを作るためのライブラリ、プラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。
基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。
このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界的有名人である。ちなみに島根県出身、在住。
プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本語情報が多く、情報収集という点ではとてもやりやすい。
Ruby on RailsというWebサービスを作るためのフレームワークが世界的に大ヒットしたため、必然的にRubyの知名度も上昇した。少し前まで日本のWeb系スタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Web系プログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。
Webに興味があるのならRubyから始めるのが一番無難な選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールのカリキュラムに従いRailsをやりましょう。
これは他の言語とは毛色の違う言語である。というかCSSはプログラミング言語と呼んでいいのだろうか?
CSSはHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトやサイズを変えたりするのは基本的にCSSの役割である。
すごく大雑把にいうと、HTMLで表示する内容(文章や画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である。
なので、Webに興味があるのであればある程度はCSSの知識が必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。
TypeScriptは比較的新しい言語で、JavaScriptをさらに拡張したものである。Microsoftによって開発されている。
プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語はサクサクかけるし短く書けるがバグを生みやすくプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。
そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである。基本的にJavaScriptを理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。
ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。
C言語は基本的にOSを作るための言語である。OSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアである。AndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータは基本的にOSがあって初めて動かすことができ、OSが提供する機能を使ってブラウザやスマホアプリなどを動かせるのである。
というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語の文法もC言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaやPHPなどはなんとなく雰囲気で書けてしまったりする。
そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味が理解できるまでに2年かかった。才能がないとこうなるので注意。
SwiftはAppleによって作られたAppleのための言語である。iOSアプリ(iPhoneアプリと言い換えても良い)を作るためだけに存在している。
言語自体は他と比べて新しいため文法や機能がイケてる雰囲気があるので基本的にはいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。
Swiftが生まれる前はiOSアプリを書くためにObjective-Cが必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-C製アプリをメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチな需要はこれからも残るのかもしれない。
Scalaは関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター。
正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワードが流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習やAIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者が最初にやるようなものではないことだけは確かである。
Go言語は比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用を目的に作られたものである。しかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。
他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性(プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要な機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。
学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。
シェルというのはテレビなんかでハッカー的な人間がPCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである。説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者が最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェルの知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。
Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。
PowerShellは上のShellの親戚みたいなもので、ShellがMacやLinuxで動くのに対しPowerShellはWindowsで動く。そんだけである。あと正直あまり知らない。
ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語やC++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である。
今でも広く使われてはいるが、RubyやPythonがPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定の目的があるのであればいいと思う。
Kotlinは簡単に言えばBetter Javaである。Javaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである。
ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリをKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。
とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。
言語自体はとてもいい感じなので、もう少しコミュニティが成熟してくれば最初に学ぶ言語の選択肢として有力になるかもしれない。
HaskellはScalaと同じく関数型言語である。ScalaがJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語をマスターしてからやりましょう。
なんとなくWebに興味がありそうならJavaScriptかRubyもしくはPHP、Androidアプリに興味があればJava、iPhoneアプリに興味があればSwift、AIやデータ分析に興味があればPython、3Dゲーム開発に興味があればC#。この辺りをやりましょう。
特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。
なお筆者はただのヘボプログラマであり、大好きな記事(http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。