自分が最近どんな記事を書いているかを振り返る機会があった。そこで分かったのは、プログラミング言語のPythonに関する記事がとても多いということだ。
このコラム連載でも、Pythonに関する記事はよく読まれている。ここ半年で最も読まれたのは、Pythonを学ぶべき理由を紹介したコラムだ。次に読まれていたのは、Python 2がサポート対象外になるというコラムである。
私は日経クロステックだけでなく、ネットワーク技術者向けのメディアである日経NETWORKにもPythonの記事を書いている。2019年7月号には「知っておきたいPythonの基礎」という8ページの記事を書き、日経NETWORKの読者に初めてPythonを紹介した。
2019年10月号では「Pythonで学ぶサイバー攻撃の手口」という巻頭特集を執筆した。当初は、プログラミングを取り上げた記事はネットワーク技術者には受け入れられないのではないかと心配していた。しかし幸いなことに読者アンケートの評価はとても高かった。
この特集で使ったのが、ネットワークのパケットを簡単に組み立てたり送ったりできる「Scapy(スケイピー)」というライブラリーである。ネットワークのパケットをプログラミングで一から組み立てるのはとても面倒だ。一方Scapyを使えば、目的とするパケットを驚くほど簡単に組み立ててネットワークに送れる。
最近は2020年2月号の巻頭特集「Pythonで楽々ネットワーク管理」を執筆した。この特集では、ネットワーク機器に簡単にリモートログインして操作できる「Netmiko(ネットミコ)」というライブラリーを利用している。
ScapyやNetmikoを使っていて感じるのが、「本来はとても面倒な処理のはずなのに、こんなに簡単にできていいのだろうか」という戸惑いだ。ほんの数行のプログラムでやりたいことができてしまう。プログラムの中では、やりたいことを指定してライブラリーを呼び出しているだけだ。
しかも、Pythonではたいていの用途に対してライブラリーが用意されている。プログラミングで何かやりたいことがあった場合、Pythonであれば簡単に実現できる。掛け値なしに「かゆいところに手が届く」という感じだ。
こうした感覚は、他の言語ではほとんど体験したことがない。他の言語でも、ネットワーク通信のためのソケットといった基本的なライブラリーは用意されていることが多い。だがPythonほど便利なライブラリーがそろっている言語は個人的に知らない。
Railsでは実力がつかないという主張
数年前、「Webアプリケーションの開発にフレームワークのRuby on Rails(以下、Rails)を使っていると実力がつかない」というブログ記事が公開されて賛否両論を巻き起こしたことがある。
以下ソース
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00682/012900025/
専門学校出てるから余裕
>>1
> しかも、Pythonではたいていの用途に対してライブラリーが用意されている。
> プログラミングで何かやりたいことがあった場合、Pythonであれば簡単に実現できる。
> 掛け値なしに「かゆいところに手が届く」という感じだ。
> こうした感覚は、他の言語ではほとんど体験したことがない。
> 他の言語でも、ネットワーク通信のためのソケットといった
> 基本的なライブラリーは用意されていることが多い。
> だがPythonほど便利なライブラリーがそろっている言語は個人的に知らない。
馬鹿自慢乙w
誰かが苦労して作った良いライブラリがあれば、その後のプログラミングが便利になるのはどの言語でも同じなのに
何を言ってんだこのスットコドッコイは・・・
IBMワトソンはAIがプログラム書いてるな‥♪
人の命令・要望だけで最適解を選ばせる時代になるだろうわ
オープンソースにフリーライドしてれば全部他人が開発してくれるってのかよ
少しでも貢献しようという気持ちのコントリビューターへのリスペクトがゼロだなクソが
>>1
>当初は、プログラミングを取り上げた記事はネットワーク技術者には受け入れられないのではないかと
>心配していた。しかし幸いなことに読者アンケートの評価はとても高かった。
プログラマからネットワーク業界に転進する人も結構多いらしいからな
ハード屋は廃れていく一方だがネットワーク屋の需要は増えていく一方だこらね
オンプレをクラウドに切り替えてもネットワークは残るし
>>1のおじさんのコラムは昔からおかしい
おまえそこかよとか違うだろとか毎月ツッコミ入れられるコラムってそうそうないぞ
俺も現場で使ったのはシェルの代わりだったし
>プログラミングは要らなくなる
何十回、耳にしたことだろう・・・
5chによれば、全てAIが全てやってくれてるハズ
人事は「技術も営業も経理も採用不要」と豪語してたはず
javaが出来た時にも同じこと言われてたな
何十回、口にしたことだろうチ・ポ
それな
pythonは
そのへんのジジババでも使える魔法の道具らしい
およそ30年くらいは言ってると思う
この関係やってると先が読めるからだと思うけど
実態は他の業種が全て自動されたあと最後にプログラミングも不要になる
20年前にも誰かが言ってたな。
1回使ったけどクソ遅いから二度と使わん
書き方が悪い
python速くできないPGは
他の言語使ってもクソ遅いのしか書けない
医者も弁護士も政治家も事務職もいらなくなるだろうな
いろいろなロジックをコンピュータが全部処理してくれるわけだから
どんだけライブラリを用意するか、って話なだけで、そんなん言語とは直接関係ない。
それが音声入力から始まってエクセルで書類書くみたいになるわな。
アセンブラ時代に一日掛けて書いてたプロセスを数分で完了してしまうからもう直打ちなんて誰もヤラなくなる。
自然なプログラムというのは音声認識とその意図を汲み取れる人工知能だろう
PythonなんかただのC/C++のラッパーでしかない
python信者なのにCもC++も書けない奴見ると
ドヤ顔スタバMacマンにしか見えない
pythonは機械学習や統計、データサイエンスに強いってインターネットで見たのでpythonプログラマー名乗っておけば尊敬されるやろ、程度の浅い奴としか見えない
より複雑な物を作れるようになって
ユーザーの要求水準もあがる
結局、求められるものの水準がかわるだけで
プログラミングの必要度は変わらないと思われる
>>22
ならない
一度やってると拒否反応減るからやっといた方がいい
VBAさえ使えない人にはなりたくないだろ
プログラミング言語って基本的に英語で
英語的な思考だよね?
日本語的なプログラミング言語ってないの?
なでしこ
nadesi.com
Pythonしかできない人は、淘汰されちゃうよ。
だよな
他の言語やってたら5分でマスターできるもの
2019年時点で、使われているプログラミング言語の順位は、
Pyathon - JavaScrip -Java - C# - PHP - C++ - C - R -
Swift - ObjectiveC - Kotlin
ちなみに、上位3位がダントツ。
JavaScriptは今やフロントエンド(ユーザーインターフェース)は全てこれでやるくらいの勢い
PCもiOSアプリもAndroidアプリも、見た目やユーザーインターフェイスはJavaScriptで書く時代
サーバサイドはJavaに代わるものが求められてるがどれもイマイチだったが、Go言語が来るのではないかと思ってる
Goはいわばコンパイル型のPythonでめちゃくちゃ軽くて速い
身も蓋もない…
でも、そんなもんか
いろんな言語つかってきたけど、Pythonはなんか楽しいんだよね。
switchがないのだけは納得いかないが。
Javaはもう見たくない、。
確かに時代とともに、多くの実装はライブラリのお陰で楽になった。
けど、プログラマーやアーキテクトの代わりにプログラムが勝手に考えてくれるわけじゃないよね。
他のレスでも指摘されてる通り、
結局フレームワークの階層をローレベルまで辿れないと解決できない問題も起こる。
なんちゃってPGがアプリ粗製濫造して、トラブると自己解決できず終了というディストピアが見える…
プログラミング言語はなくならないよ。
ありうるとしても、AIが担当者から仕様をヒアリングして、AIがプログラミングするというもの。
そして、資料作成・メンテ・改修もAIが行う。
とか学校を子供たちを商売道具にするのやめてくれ
本当にそう思う。
それより生涯楽しめるスポーツや音楽をもっと嗜ませて欲しいわ。
中でなにやってるかわからないライブラリーほど怖いものはないっていうのにさ
20年前、いやもっと前から、ずっと同じこと言ってるぞw
技術者をおとしめて、安く買いたたく口実にしてるんだよな。
ほんとダメな国になったな。
プログラマーを廃棄するプログラミング言語のPythonをつかうプログラマーたちwww
自分の墓を自分で掘っているかのようだwww
一方でpipでモジュールをインストールするのが便利だが
バージョン管理がやりやすいとは言いにくい
なので、 venv でアプリ/開発ごとにローカルの環境作る。
python自体も複数バージョン使いたい時はvirtualenvの方がいいんだっけか。うるおぼえ。
業務システムなんかは用意されてるものを使うようになってるんだろうけど
「AIが代わりにやってくれる」とか、
コンピュータ黎明期からずっと言われ続けてることだよw
プログラミングしたものに代替される
プログラミングした物の元でオペレーター的業務をこなす
プログラミング出来るのに人に使われる
これに当てはまる奴は生き残れないから
今後どんな言語が持て囃されようが関係無い
義務教育にしてしまったやないか。
プログラマーを軽蔑している記事だな
このタイプの人間は100%言語仕様を理解していない
プログラムを書かなくても絵師にはなれるけど、drawソフトを作る側はプログラムを書く必要がある
今後は絵師以外の職業が出て来るんじゃないかって話を大盛りにしただけ
プログラムを書かずに新規分野のソフトは作れない
多分まぁ、それだけのことでは。
pythonなんて遅くて当たり前で、同じことがCで既に実現できてるならpythonなんて使う意味ない
pythonは、ライブラリ群を利用すれば、やりたいことをなるべくコード量を少なく実現できる
ただ、CやC++で作った方が早いから、機械学習とかを速く実行させたいなら選択肢からは外れる
Pythonは機械学習、ディープラーニングで伸びたんだ
それにつかえなかったら伸びてない
pythonは使えない、使い物にならないわけじゃない
大体pythonが使い物にならないならjavascriptとか他のスクリプト系言語も全滅
だから、Cで同じことが実現できてるなら不要なだけで、遅いけど簡単に実装できるpythonみたいな言語は無くならないよ
主要フレームワークはC/C++のAPIもあるが、大多数はPythonから使ってる
Python APIのオーバーヘッドは確かにあるが、大きな問題にはならないんだ
っていうのは半分事実なのが質悪い
メンテでクソ程時間かかって良いならその言葉を吐いても良いんだけどさ
且つそれを自分の書いたプログラムで回避用のコードに落とし込むとこまでできて始めて言える
目的のライブラリが見つからなかったらどうするの?
pythonで作るよ
クリティカルなとこだけboostとC++で作るよ
バグ生みやすいけど、
使ってる分には圧倒的に目的に対して生産性高い
余計なことせずに動かすとこまでは本当に早い
ライブラリの充実で勢いがあるけど、基本の言語仕様で言うとそこまで優れているわけでもない
LL版の.NETやJavaの言語非依存のライブラリ群がある環境ができたら一気に廃れるだろう
インデントだけでブロックを作るのは完全に悪手だわな
インデントなんてエディタでどうにでもなることなのに
>>297
そりゃ慣れの問題でしょ
中括弧の替わりにタブが制御文字ってだけで
それを書き換えるようなエディタがいるなら
そのエディタはpythonでは使えないってなるだけ
移行直後は戸惑ったが、今じゃ逆に
インデントとスコープ合ってない他言語コード見ると
「中括弧なんてあるからイカン」と思うし
まあ、既存というか慣れ親しんだ言語がない人ならそうだろうけど、
結局のところは、人によりけりなんじゃね。
変数の宣言ないところは、やっぱりメモリを考えなくていい世代なんだな、
時代が変わったもんだなぁと感じるけど。
>>310
いや俺C歴20年超えだし…
メモリ考えなくてもいいのは
そういう環境で使うからだよ
mallocのある.batとか.shとかあったら
面倒くさいでしょ
プログラムレスで実現可能なレベルのものなら、
すでにいろいろ出てると思うけどね。
なんつーか、記事の視点がアホっぽい。
プログラミングが不要になるは言い過ぎだけど、
50年前はまず紙にコードを書いて高価なマシンを交代で使って
プログラミングを行っていたわけだから
プログラミングの効率という面では劇的に進歩してるんだよ。
あと「プログラミングだけ知ってる人」というのはすでに絶滅済。
文法は覚えてもあまり意味ないんだよね。
ベテランプログラマでも覚てなくてその都度文法調べながら書いてること少なくないし。
些末な文法よりも問題への対処方法・問題の分解のしかたとかだな
問題への対処時に超巨大な複数の役割が含まれる関数とかうっかり見つけてしまって
しかもそれを調査しないといけないときの絶望感 (´・ω・`)
言語独特の表記に落とし込むってのは必須なわけだから
それを否定するのは馬鹿な話だ
自分の作成部分の公開義務があるのかないのかって視点です
ライブラリごとにライセンス設定されてるから確認すること。
動的型言語嫌いなんで、これでアプリを組もうという気にはなれないけど。
もう直打ちプログラマーなんていらね~よってなるのも数年の内
■賛成派
・ライブラリが充実すれば面倒なプログラミングは要らなくなる
・オープンソースが充実すれば面倒なプログラミングは要らなくなる
・パブリッククラウドが充実すれば面倒なインフラ管理・設定は要らなくなる
・これからのエンジニアに求められるのはこうしたサービスを組み合わせて早くやりたいことを
実装できるスキル
■反対派
・最近のエンジニアはコードのコピペしかできない
・最近のエンジニアはライブラリにできない機能は作れない
・最近のエンジニアはコンピュータ科学の基礎的な部分の理解が圧倒的に足りない
基礎理論に基づいた応用的な話をするとすぐリタイアしてしまう
・先進的な技術はライブラリにないところから生まれる
コードのコピペとカスタマイズしかできない最近のエンジニアには先進技術は作れない
この種の議論は2000年ぐらいから手を変え品を変え、ずーーーーーーーっと続いてきた覚えがあるがな
(もっと大昔の話でも、「お手軽プログラミングのCOBOLを描く奴らは魂が穢れてる」とかCプログラマが
言ってたもんだw)