前スレ
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
探検
ぶっちゃけ始めるのにいい言語て何 part2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/07/16(木) 16:11:58.71ID:FdxXVx6E740デフォルトの名無しさん
2020/08/15(土) 16:46:22.32ID:YIEd4cAz741デフォルトの名無しさん
2020/08/15(土) 16:52:00.07ID:crtSow9x >>737
JSにWebマークしか付いてないの意味分からんな。React Native無視とは。
そこまでのシェアじゃないとはいえ、じぁあC/C++のスマホマークは何なんですかと。
PCマークだってPythonに付いてるがVSCodeはじめElectron製アプリのほうがよっぽど多いだろうに。
JSにWebマークしか付いてないの意味分からんな。React Native無視とは。
そこまでのシェアじゃないとはいえ、じぁあC/C++のスマホマークは何なんですかと。
PCマークだってPythonに付いてるがVSCodeはじめElectron製アプリのほうがよっぽど多いだろうに。
742デフォルトの名無しさん
2020/08/15(土) 16:59:26.81ID:4Fj9Za8e >>739 あれは、小学校までの入門用。 大人が触るもんじゃ無い。 子供の教育用にちょっとさわれば済む話。
大人なら言語を直接触った方が理解は早いとは思うが、周辺のIO を動かす為にどんなコードで書かれてるのか調べるには良いかも。
Micro:bit を小一の孫にプレゼントしたが、自分も理解しておく必要があったから、BluetoothでMicro:bitと通信してみた。 なるほどとは思う。(micro Python)
似たような2000円くらいで買える大人の玩具には、ichigo jam とか、arduino (IEEEランキング11位)とかある。
少し高度になると、ラズベリーパイ。 これだとほとんど何でもできる。安い教育用Linuxマシン。 基本言語はPython
大人なら言語を直接触った方が理解は早いとは思うが、周辺のIO を動かす為にどんなコードで書かれてるのか調べるには良いかも。
Micro:bit を小一の孫にプレゼントしたが、自分も理解しておく必要があったから、BluetoothでMicro:bitと通信してみた。 なるほどとは思う。(micro Python)
似たような2000円くらいで買える大人の玩具には、ichigo jam とか、arduino (IEEEランキング11位)とかある。
少し高度になると、ラズベリーパイ。 これだとほとんど何でもできる。安い教育用Linuxマシン。 基本言語はPython
743デフォルトの名無しさん
2020/08/15(土) 17:03:00.11ID:4Fj9Za8e >>740 どうでも良いだろ。 10位以下はゴミだよ。
少なくとも初心者が学ぶべき言語では無いのは確か。
少なくとも初心者が学ぶべき言語では無いのは確か。
744デフォルトの名無しさん
2020/08/15(土) 17:07:16.91ID:umUsbxeH Alternatives to Visual Studio Code for all platforms with any license
https://alternativeto.net/software/visual-studio-code/
Code Learning Apps and Services
https://alternativeto.net/category/developer-tools/learn-a-programming-language/
https://alternativeto.net/category/developer-tools/
https://alternativeto.net/software/visual-studio-code/
Code Learning Apps and Services
https://alternativeto.net/category/developer-tools/learn-a-programming-language/
https://alternativeto.net/category/developer-tools/
745デフォルトの名無しさん
2020/08/15(土) 17:46:39.06ID:KV0ftL1X 日本にはHSPがあるだろ。
746デフォルトの名無しさん
2020/08/15(土) 18:37:00.27ID:z+dvr5Wj PHPはあかんの?
747デフォルトの名無しさん
2020/08/15(土) 19:29:13.86ID:4GsEJ4Sf >>746 あれは完全にただのツール。 言語とは言えない、perl の一変態
マクロみたいなものだろ。
マクロみたいなものだろ。
748デフォルトの名無しさん
2020/08/15(土) 20:47:48.01ID:8oWMPGKo facebookはマクロで天下取ったのか。
マクロって すげー!
マクロって すげー!
749デフォルトの名無しさん
2020/08/15(土) 21:14:36.29ID:OkeTMDO9 >>746
HTMLに埋め込むっていう斬新な方法で簡単に動的ページを作れるからある程度の規模のサイトを簡単に作るならいいと思う
HTMLに埋め込むっていう斬新な方法で簡単に動的ページを作れるからある程度の規模のサイトを簡単に作るならいいと思う
750デフォルトの名無しさん
2020/08/15(土) 21:14:56.29ID:lwC1krR6 >>748
キチの相手すんな
キチの相手すんな
751デフォルトの名無しさん
2020/08/16(日) 08:15:14.42ID:ZkarGjJb 令和にもなってHTMLにPHPガッツリ書いてる人って引くわ
クリーンアーキテクチャどころかMVCとかも知らなさそう
クリーンアーキテクチャどころかMVCとかも知らなさそう
752デフォルトの名無しさん
2020/08/16(日) 14:17:36.44ID:vlpSsCfY753デフォルトの名無しさん
2020/08/16(日) 14:18:41.80ID:vlpSsCfY ああすまん、ビューファイルにPHPを書くのが引くってことね
754デフォルトの名無しさん
2020/08/16(日) 14:45:02.26ID:7n2hwSPz 簡単に作るなら
って書いてるのにガッツリ書くとか煽りたくてしょうがない厨房かよw
って書いてるのにガッツリ書くとか煽りたくてしょうがない厨房かよw
755デフォルトの名無しさん
2020/08/16(日) 15:47:40.47ID:0qtTXmxD >>734
意外とでかいんだよな、これ。Haskellはやったことないけど、そんなに違うんだ。
意外とでかいんだよな、これ。Haskellはやったことないけど、そんなに違うんだ。
756デフォルトの名無しさん
2020/08/16(日) 21:24:08.57ID:Oe4ljRpl >>723
C言語のハードルは高くないぞ
むしろ低い方だ
ポインタなどの難しい概念はあるが、最初はポインタを使わなければいいだけ
フレームワークだの、オブジェクト指向だの、初心者には理解が難しいことも覚える必要はない
しかも、未だに仕事で使うから無駄にはならない
おまけにコンピュータの仕組みも知らずに理解できる
これほどお得な学習法もないと思うがなぁ
C言語のハードルは高くないぞ
むしろ低い方だ
ポインタなどの難しい概念はあるが、最初はポインタを使わなければいいだけ
フレームワークだの、オブジェクト指向だの、初心者には理解が難しいことも覚える必要はない
しかも、未だに仕事で使うから無駄にはならない
おまけにコンピュータの仕組みも知らずに理解できる
これほどお得な学習法もないと思うがなぁ
757デフォルトの名無しさん
2020/08/16(日) 21:32:17.92ID:ukEeeY+y VBは?
758デフォルトの名無しさん
2020/08/16(日) 22:57:55.38ID:nFaLAj/B >>757 昔々の言語。 覚える価値はない。 環境変数を覚える方が難しい。
Excelマクロは、VBからJavascript やPython に移りつつある。
Excelマクロは、VBからJavascript やPython に移りつつある。
759デフォルトの名無しさん
2020/08/17(月) 00:23:40.37ID:SO3bXD1g レガシー言語を勧めるのはどうだろ
新しい言語の方が便利に決まってる
新しい言語の方が便利に決まってる
760デフォルトの名無しさん
2020/08/17(月) 00:33:18.38ID:MuKH26x+ >>759
言語を勧める理由として便利さだけを追求する方がどうかと思うぞw
学習的な側面から、理由を説明した上でレガシーな言語を勧めることは十分アリだと思う。
受け取り手が、自分の目的や価値観に合わせて判断すればいいだけのこと。判断の助けになるようメリット、デメリットも含めて提示できればなお良いと思うぞ。
言語を勧める理由として便利さだけを追求する方がどうかと思うぞw
学習的な側面から、理由を説明した上でレガシーな言語を勧めることは十分アリだと思う。
受け取り手が、自分の目的や価値観に合わせて判断すればいいだけのこと。判断の助けになるようメリット、デメリットも含めて提示できればなお良いと思うぞ。
761デフォルトの名無しさん
2020/08/17(月) 01:05:18.18ID:frAy30YW >>737 その表を見ててふと気が付いたんだが、組込用(⚙)の言語がやはり重要そうだな。
Python , C/C++ , C#
Python , C/C++ , C#
762デフォルトの名無しさん
2020/08/17(月) 01:14:18.56ID:SO3bXD1g 敢えて古い言語を勧める理由ってあるかな
学習するなら新しいことを覚えた方が役に立つ気がする
車輪の再発明をするなって言うし
学習するなら新しいことを覚えた方が役に立つ気がする
車輪の再発明をするなって言うし
763デフォルトの名無しさん
2020/08/17(月) 01:43:28.52ID:r+bG+fmh CやPythonも十分レガシー言語
新しさや人気みたいな基準で選んじゃうのは外見で人を選ぶのと同じ
新しさや人気みたいな基準で選んじゃうのは外見で人を選ぶのと同じ
764デフォルトの名無しさん
2020/08/17(月) 02:15:38.93ID:510byYXm Smalltalkだけは別格かも知れない。
765デフォルトの名無しさん
2020/08/17(月) 02:24:58.40ID:frAy30YW 教育用言語としての絶対?条件は、インタプリタ言語だろうな。
古くはBASIC、今はPython
Python でインラインで 1+2 と入れたら3になる。
>>>1+2
3
改めて見ると驚きだよ。
全く電卓として使える。 元々BASICも電卓みたいな計算ができることを目的としてた。
自分が会社に入った時に最初に習ったのがベル研のBASICで10か12位の命令しかなかった。 紙っぺらの説明書を貰った後直ぐに実習に入った。
古くはBASIC、今はPython
Python でインラインで 1+2 と入れたら3になる。
>>>1+2
3
改めて見ると驚きだよ。
全く電卓として使える。 元々BASICも電卓みたいな計算ができることを目的としてた。
自分が会社に入った時に最初に習ったのがベル研のBASICで10か12位の命令しかなかった。 紙っぺらの説明書を貰った後直ぐに実習に入った。
766デフォルトの名無しさん
2020/08/17(月) 02:36:30.94ID:SO3bXD1g 人は見た目が9割だから
古いものや人気のないものは淘汰されていく
まあ古くても人気があれば残るんだろうけど
C#の人気があるのも最新の機能が使えるからだろどうせ
古いものや人気のないものは淘汰されていく
まあ古くても人気があれば残るんだろうけど
C#の人気があるのも最新の機能が使えるからだろどうせ
767デフォルトの名無しさん
2020/08/17(月) 03:06:16.17ID:frAy30YW >>> x=1
>>> y=2
>>> x+y
3
>>> y=2
>>> x+y
3
768デフォルトの名無しさん
2020/08/17(月) 03:23:28.91ID:frAy30YW >>765 どんなに高度な事をしても直ぐに結果が見れることが、現代のニーズにマッチしてるんだろうな。
先ず実験して本格的にスピードが必要ならそれなりの方法もあるし。
先ず実験して本格的にスピードが必要ならそれなりの方法もあるし。
769デフォルトの名無しさん
2020/08/17(月) 03:34:59.74ID:iLtCCqZP 極力インストールしない主義なので、Excelは最初から付いてるVBAでいいや
既に作ったものをわざわざ移植する必然性もないし
学校ではライセンス不要の言語を教えるから、今時の学生に合わせたいんだろうな
じゃなぜ昔のリーマンはVB系から入ったのか
昔はコピー余裕だったから、会社のソフトを家にもインストールして練習してたんだな
しかし年数経たないと、ネットでノウハウをググれん
新しい言語にはそういう問題がある
まあ問題となるのはアプリ操作のブラックボックスなので、その本質は一緒なんだろうけど
既に作ったものをわざわざ移植する必然性もないし
学校ではライセンス不要の言語を教えるから、今時の学生に合わせたいんだろうな
じゃなぜ昔のリーマンはVB系から入ったのか
昔はコピー余裕だったから、会社のソフトを家にもインストールして練習してたんだな
しかし年数経たないと、ネットでノウハウをググれん
新しい言語にはそういう問題がある
まあ問題となるのはアプリ操作のブラックボックスなので、その本質は一緒なんだろうけど
770デフォルトの名無しさん
2020/08/17(月) 03:38:50.66ID:iLtCCqZP771デフォルトの名無しさん
2020/08/17(月) 03:47:08.56ID:iLtCCqZP C#の開発者はDelphiの開発者らしいが、Delphiの方が良かったな
シンプルで速い
C++のノウハウがほぼ直訳で使えるので、変わったこともできる(する必要もないがw)
さらっとも使えるし、凝りまくることもできる
シンプルで速い
C++のノウハウがほぼ直訳で使えるので、変わったこともできる(する必要もないがw)
さらっとも使えるし、凝りまくることもできる
772デフォルトの名無しさん
2020/08/17(月) 05:28:56.29ID:MuKH26x+ >>766
>人は見た目が9割だから
お前がそういう価値観なのは分かったよw
人気のないものが淘汰されるのだから、古いから勧めるななんてお前が言う必要ないだろうに。お前が興味ないだけなんだろうが、そこは他の人にとってどうでもいいこと。
お前ではない誰か一人でも、その古い言語に興味を持ったなら、または興味を持たないにしてもその説明で何か得ることがあったのなら、価値があるのだから。
>人は見た目が9割だから
お前がそういう価値観なのは分かったよw
人気のないものが淘汰されるのだから、古いから勧めるななんてお前が言う必要ないだろうに。お前が興味ないだけなんだろうが、そこは他の人にとってどうでもいいこと。
お前ではない誰か一人でも、その古い言語に興味を持ったなら、または興味を持たないにしてもその説明で何か得ることがあったのなら、価値があるのだから。
773デフォルトの名無しさん
2020/08/17(月) 05:50:15.04ID:b6PNATJA 人は見た目が9割とか言ってるやつってまともにその本読んだこと無さそう
774デフォルトの名無しさん
2020/08/17(月) 06:06:31.83ID:Agahn7wQ >>758
さて、それはどうかな
今のVB.Netは文法以外ほぼC#と同じ。
つまりVB.Netを覚えてしまえばほぼC#を
覚えたのと同義と言っても過言ではない。
.Net Coreで成長を止めてしまったとは言え、
VB.Netから勉強した場合、その習得後に
C#も使えるようになっていて、
VBAもほぼ使えるようになっていたとしたらどうだろうか?
もちろん、言語特有の部分は少し覚えなければならないが、それはのめり込んだときのごく一部と考えれば
極論、VB.Netの習得はいきなり3つの言語を習得したのと同じと言える。
後、いくらJavaScriptやPythonがEXCELで使えるようになるとはいえ、それらが主体として使える望みは薄い。
何故ならVBAで使用するVariant型こそEXCELに対して最も効果を発揮する型であり、
何でも入る危険過ぎる型としてvb.Net上の仕様からも消されたものであるからだ。
後、VBAが他の言語に今まで取って変わられなかったのはそれまで作成されていた資産が多いのと
VBAの仕様があまりに雑で他の言語での改修が困難だからと言われている。
ま、その辺のことはVBAスレ行って聞けば蜂の巣を突いたようになるだろうから聞いてみればいい。
さて、それはどうかな
今のVB.Netは文法以外ほぼC#と同じ。
つまりVB.Netを覚えてしまえばほぼC#を
覚えたのと同義と言っても過言ではない。
.Net Coreで成長を止めてしまったとは言え、
VB.Netから勉強した場合、その習得後に
C#も使えるようになっていて、
VBAもほぼ使えるようになっていたとしたらどうだろうか?
もちろん、言語特有の部分は少し覚えなければならないが、それはのめり込んだときのごく一部と考えれば
極論、VB.Netの習得はいきなり3つの言語を習得したのと同じと言える。
後、いくらJavaScriptやPythonがEXCELで使えるようになるとはいえ、それらが主体として使える望みは薄い。
何故ならVBAで使用するVariant型こそEXCELに対して最も効果を発揮する型であり、
何でも入る危険過ぎる型としてvb.Net上の仕様からも消されたものであるからだ。
後、VBAが他の言語に今まで取って変わられなかったのはそれまで作成されていた資産が多いのと
VBAの仕様があまりに雑で他の言語での改修が困難だからと言われている。
ま、その辺のことはVBAスレ行って聞けば蜂の巣を突いたようになるだろうから聞いてみればいい。
775デフォルトの名無しさん
2020/08/17(月) 08:29:51.17ID:HJfgae1K PHPが広まった理由はWindowsで動いたからだけど、いまはWSLがあるので、C++でサーバーサイドもアリかな。
776デフォルトの名無しさん
2020/08/17(月) 08:42:05.28ID:kqc8skie このスレが役に立たないのは適当なこと書くアホが多いのに加えてそこに入るべき適切なツッコミのレスが少ないこと
今からプログラム始めようとする人の方がこのスレには向いていない
今からプログラム始めようとする人の方がこのスレには向いていない
777デフォルトの名無しさん
2020/08/17(月) 10:52:24.72ID:r+bG+fmh778デフォルトの名無しさん
2020/08/17(月) 11:08:40.30ID:frAy30YW >>777 swift などだろ。 そりゃ知ってるよ。 swiftも教育用言語の一つとされている。
779デフォルトの名無しさん
2020/08/17(月) 11:13:05.57ID:vZBfKXFm ほらやっぱり知らないw
c#にもcsiあるし、
javaですらjshellあるんだがwww
c#にもcsiあるし、
javaですらjshellあるんだがwww
780デフォルトの名無しさん
2020/08/17(月) 11:39:38.29ID:HJfgae1K Ubuntuのインストールを習得してIT系やれば?
781デフォルトの名無しさん
2020/08/17(月) 20:02:06.93ID:SO3bXD1g もうUbuntuはいいよ
言語じゃないじゃん
言語じゃないじゃん
782デフォルトの名無しさん
2020/08/17(月) 22:46:59.79ID:6nkEOrou Javaが既にレガシーになっている
正直言ってCの数倍は難しい
正直言ってCの数倍は難しい
783デフォルトの名無しさん
2020/08/18(火) 01:24:35.75ID:2HI6hPLK そうだjavascriptには内部関数があった
関数が減り、関数の名前で悩む時間が減る
関数を増やしたくなくて同じことを2回書く必要もないw
Excelに最初から付いてればそっちだな
関数の名前決めるために一旦寝たりする変な本能があって
関数が減り、関数の名前で悩む時間が減る
関数を増やしたくなくて同じことを2回書く必要もないw
Excelに最初から付いてればそっちだな
関数の名前決めるために一旦寝たりする変な本能があって
784デフォルトの名無しさん
2020/08/18(火) 01:33:02.18ID:8gN8Hzmn Pythonで向こう100年戦うつもり
785デフォルトの名無しさん
2020/08/18(火) 09:37:49.15ID:CekSd1r9 WebAssembly がホットだな。
Javascript の代わりに仮想マシン語をWebブラウザで動かすんだが、Web の外でも動かせるみたいだ。
上位コンパイラは、C, C++ , GO などだが大抵のコンパイラが、WebAssembly を吐き出せるようになるだろう。
Swiftでも動き始めている。
殆どのブラウザで既にWebAssembly が動くようになっている。
AutoCAD やAdobeのLightRoom などもWebAssemblyで動いてるそうだ。
WebAssembly環境でPython なども動く。
仮想マシンの実行環境が整いつつある。時代が変わるような大変革だな。
Javascript の代わりに仮想マシン語をWebブラウザで動かすんだが、Web の外でも動かせるみたいだ。
上位コンパイラは、C, C++ , GO などだが大抵のコンパイラが、WebAssembly を吐き出せるようになるだろう。
Swiftでも動き始めている。
殆どのブラウザで既にWebAssembly が動くようになっている。
AutoCAD やAdobeのLightRoom などもWebAssemblyで動いてるそうだ。
WebAssembly環境でPython なども動く。
仮想マシンの実行環境が整いつつある。時代が変わるような大変革だな。
786デフォルトの名無しさん
2020/08/18(火) 12:05:53.52ID:TUZhvGor >それらの言語をウェブ上で実行することができます。
ブラウザ上だよねw
>WebAssembly はモダンなウェブブラウザーで実行できる新しいタイプのコードです。
まあその前にそう言ってるけど
「ウェブ上で」ってプログラマーの感覚では、サーバーサイド、ないし通信のことであって
経営者や企画・営業系が勘違いするような表現やめて欲しいなw
「ウェブ上」で動く専用クライアントを作ると、「ウェブ上でできない?」とかw
ブラウザも一つのクライアントソフトなんだがw
強いて言えばメーカーの良心によりローカルアクセスが制限されてる安心感かな(自分が他社製を使う場合)
だが「ウェブ上」を希望するアホどもはそんな認識は当然ないw
ブラウザ上だよねw
>WebAssembly はモダンなウェブブラウザーで実行できる新しいタイプのコードです。
まあその前にそう言ってるけど
「ウェブ上で」ってプログラマーの感覚では、サーバーサイド、ないし通信のことであって
経営者や企画・営業系が勘違いするような表現やめて欲しいなw
「ウェブ上」で動く専用クライアントを作ると、「ウェブ上でできない?」とかw
ブラウザも一つのクライアントソフトなんだがw
強いて言えばメーカーの良心によりローカルアクセスが制限されてる安心感かな(自分が他社製を使う場合)
だが「ウェブ上」を希望するアホどもはそんな認識は当然ないw
787デフォルトの名無しさん
2020/08/18(火) 12:28:09.39ID:TUZhvGor 5chブラウザも未だに専ブラほど快適なブラウザ版ないしね
本気で性能を求めるなら専用クライアント
5chごとき業務用でもないし、モラルが怪しげだし、それこそブラウザ版が望ましいんだが、
それでも怪しみながら専ブラを使わざるを得ないぐらい差がある
本気で性能を求めるなら専用クライアント
5chごとき業務用でもないし、モラルが怪しげだし、それこそブラウザ版が望ましいんだが、
それでも怪しみながら専ブラを使わざるを得ないぐらい差がある
788デフォルトの名無しさん
2020/08/18(火) 16:30:46.24ID:x5qGmzqp Python のフルセットもWebAssemblyで動くようになっている。
Pyodide
WebAssemblyは、Cなどで書くと変更するとコンパイルしなおさないといけないが、Pythonならソースコードを変更すればその場で有効になる。 実験的に変数や数式を変更したりするには最適。 Javascript の機能も使える。
Pyodide
WebAssemblyは、Cなどで書くと変更するとコンパイルしなおさないといけないが、Pythonならソースコードを変更すればその場で有効になる。 実験的に変数や数式を変更したりするには最適。 Javascript の機能も使える。
789デフォルトの名無しさん
2020/08/18(火) 17:08:29.38ID:pq/+ciEM pyズリ
790デフォルトの名無しさん
2020/08/18(火) 17:43:05.80ID:HR/M/dGq >>765
対話的なプログラミング環境、いわゆるREPLは大事だよね
たとえば「0から9までの数字で偶数のものを2乗した配列」が欲しいとする
もしもこうした環境が提供されている言語であれば:
$ irb
irb(main):001:0> (0..9)
=> 0..9
irb(main):002:0> (0..9).select {|n| n % 2 == 0}
=> [0, 2, 4, 6, 8]
irb(main):003:0> (0..9).select {|n| n % 2 == 0}.map {|n| n * n}
=> [0, 4, 16, 36, 64]
irb(main):004:0>
その場で、手軽に計算を学習できる、あたかも電卓のように
こうしたメソッドチェーン(あるいは関数型言語におけるパイプライン演算子)は、
スレタイにある「ぶっちゃけ始めるのにいい言語」には必須じゃないかと思われ
https://qiita.com/subaru-shoji/items/110529c2c1824633d79c
対話的なプログラミング環境、いわゆるREPLは大事だよね
たとえば「0から9までの数字で偶数のものを2乗した配列」が欲しいとする
もしもこうした環境が提供されている言語であれば:
$ irb
irb(main):001:0> (0..9)
=> 0..9
irb(main):002:0> (0..9).select {|n| n % 2 == 0}
=> [0, 2, 4, 6, 8]
irb(main):003:0> (0..9).select {|n| n % 2 == 0}.map {|n| n * n}
=> [0, 4, 16, 36, 64]
irb(main):004:0>
その場で、手軽に計算を学習できる、あたかも電卓のように
こうしたメソッドチェーン(あるいは関数型言語におけるパイプライン演算子)は、
スレタイにある「ぶっちゃけ始めるのにいい言語」には必須じゃないかと思われ
https://qiita.com/subaru-shoji/items/110529c2c1824633d79c
791790
2020/08/18(火) 18:03:34.26ID:HR/M/dGq 別のお題で
たとえば「ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ」という
処理を試したいとする:
$ irb
irb(main):001:0> a = [1,4,3,2]
irb(main):002:0> a.sort
=> [1, 2, 3, 4]
irb(main):003:0> a.sort.reverse
=> [4, 3, 2, 1]
irb(main):004:0> a.sort.reverse.map(&:to_s)
=> ["4", "3", "2", "1"]
irb(main):005:0> a.sort.reverse.map(&:to_s).join
=> "4321"
irb(main):006:0>
https://edvakf.hatenadiary.org/entry/20090405/1238885788
REPL(対話型プログラミング環境)があれば、
select/map/sort/reverse/join といった操作(メソッド or 関数)を
電卓の + や - といった数値演算子と同様に学習できる
たとえば「ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ」という
処理を試したいとする:
$ irb
irb(main):001:0> a = [1,4,3,2]
irb(main):002:0> a.sort
=> [1, 2, 3, 4]
irb(main):003:0> a.sort.reverse
=> [4, 3, 2, 1]
irb(main):004:0> a.sort.reverse.map(&:to_s)
=> ["4", "3", "2", "1"]
irb(main):005:0> a.sort.reverse.map(&:to_s).join
=> "4321"
irb(main):006:0>
https://edvakf.hatenadiary.org/entry/20090405/1238885788
REPL(対話型プログラミング環境)があれば、
select/map/sort/reverse/join といった操作(メソッド or 関数)を
電卓の + や - といった数値演算子と同様に学習できる
792790
2020/08/18(火) 18:21:19.16ID:HR/M/dGq >>791にtypoがあったから訂正
irb(main):05:0> a.sort.reverse.map(&:to_s).join('-')
=> "4-3-2-1"
irb(main):06:0>
irb(main):05:0> a.sort.reverse.map(&:to_s).join('-')
=> "4-3-2-1"
irb(main):06:0>
793デフォルトの名無しさん
2020/08/18(火) 18:47:20.91ID:5CK1RoYW 実際に動かして見るのが一番だよ。
https://pyodide-cdn2.iodide.io/v0.15.0/full/console.html
ここにアクセスして、
1+2
と入れれば答えが出る。
a=1
b=2
print(a+b)
何もインストールする必要もないから、感触を掴むには良いだろう。
他にもサーバーサイドで使えるサイトはあるが、
でもこのサイトは、クライアントで動くようになってるから、電波が届かないところでもPythonが使える。
https://pyodide-cdn2.iodide.io/v0.15.0/full/console.html
ここにアクセスして、
1+2
と入れれば答えが出る。
a=1
b=2
print(a+b)
何もインストールする必要もないから、感触を掴むには良いだろう。
他にもサーバーサイドで使えるサイトはあるが、
でもこのサイトは、クライアントで動くようになってるから、電波が届かないところでもPythonが使える。
794デフォルトの名無しさん
2020/08/18(火) 18:49:26.82ID:5CK1RoYW 最初はネットにつながっていないといけないけどね。最初は50MB位ダウンロードされるが一瞬、その後はストレスなく使える。
https://pyodide-cdn2.iodide.io/v0.15.0/full/console.html
https://pyodide-cdn2.iodide.io/v0.15.0/full/console.html
795デフォルトの名無しさん
2020/08/18(火) 18:50:53.88ID:5CK1RoYW796790
2020/08/18(火) 19:12:36.84ID:HR/M/dGq >>では、2つのお題:
(1) 0から9までの数字で偶数のものを2乗した配列(>>790)
(2) ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ(>>791)
いずれかでかまわないので、試した実行結果を示してくださいませ
ぶっちゃけ始めたばかりの初心者向きの簡単なお題ですよね
自分はPythonに慣れていないんで、エラーで嫌われちゃいました(涙
Welcome to the Pyodide terminal emulator
>>> range(10)
0,1,2,3,4,5,6,7,8,9
>>> range(10).filter(lambda n: n % 2 == 0)
Error: Traceback (most recent call last):
File "/lib/python3.7/site-packages/pyodide.py", line 45, in eval_code
return eval(compile(expr, '<eval>', mode='eval'), ns, ns)
File "<eval>", line 1, in <module>
AttributeError: 'range' object has no attribute 'filter'
>>>
(1) 0から9までの数字で偶数のものを2乗した配列(>>790)
(2) ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ(>>791)
いずれかでかまわないので、試した実行結果を示してくださいませ
ぶっちゃけ始めたばかりの初心者向きの簡単なお題ですよね
自分はPythonに慣れていないんで、エラーで嫌われちゃいました(涙
Welcome to the Pyodide terminal emulator
>>> range(10)
0,1,2,3,4,5,6,7,8,9
>>> range(10).filter(lambda n: n % 2 == 0)
Error: Traceback (most recent call last):
File "/lib/python3.7/site-packages/pyodide.py", line 45, in eval_code
return eval(compile(expr, '<eval>', mode='eval'), ns, ns)
File "<eval>", line 1, in <module>
AttributeError: 'range' object has no attribute 'filter'
>>>
797デフォルトの名無しさん
2020/08/18(火) 20:24:47.77ID:LqLuZ5HW いきなりRustを勧める鬼畜
798デフォルトの名無しさん
2020/08/18(火) 21:09:14.87ID:7q74aHL6 lispは?
799デフォルトの名無しさん
2020/08/18(火) 21:14:01.10ID:DLOA82Zt lisp ときたか!こりゃ一本取られた!\(゜ロ\)(/ロ゜)/
800デフォルトの名無しさん
2020/08/18(火) 21:22:38.85ID:ZOejX8E8 じゃあN88 BASICでええやん。
801デフォルトの名無しさん
2020/08/18(火) 21:38:17.98ID:pq/+ciEM こもーん・りすぷ
802デフォルトの名無しさん
2020/08/18(火) 22:08:13.38ID:TUZhvGor パイソンは隆盛を誇ってるようだが、けったいな呪文を次々に増やすのはどうかな
とかく世の中はSQLを避けたがるフシがある
.NETも使えない自動発行とか
SQLが呪文のようだから嫌われるのに、より呪文のような言語を開発しても
ラムダ式もそうだな、そこまでやるなら素直にSQLにすれば
もしシステムビューに整数マスタ(sys.math_integers)があれば(なくても作ればいいが)
select p =power(n, 2) from sys.math_integers where n>=0 and n<=9 and n%2=0
俺にはこの方が意味が分かりやすい
かつDBエンジンは高速
さらに要件が複雑化しても見通しがよい(俺にはねw)
戻り値が表なので、結果を利用した後続処理も高速で、可用性が高い
とかく世の中はSQLを避けたがるフシがある
.NETも使えない自動発行とか
SQLが呪文のようだから嫌われるのに、より呪文のような言語を開発しても
ラムダ式もそうだな、そこまでやるなら素直にSQLにすれば
もしシステムビューに整数マスタ(sys.math_integers)があれば(なくても作ればいいが)
select p =power(n, 2) from sys.math_integers where n>=0 and n<=9 and n%2=0
俺にはこの方が意味が分かりやすい
かつDBエンジンは高速
さらに要件が複雑化しても見通しがよい(俺にはねw)
戻り値が表なので、結果を利用した後続処理も高速で、可用性が高い
803デフォルトの名無しさん
2020/08/18(火) 22:21:04.37ID:zD91pcSD 日本人としては
sys.math_integers | filter(n>=0 and n<=9 and n%2=0) | power(2)
と書けたほうが分かりやすい
sys.math_integers | filter(n>=0 and n<=9 and n%2=0) | power(2)
と書けたほうが分かりやすい
804デフォルトの名無しさん
2020/08/19(水) 00:10:16.21ID:LQ0AAX+I805デフォルトの名無しさん
2020/08/19(水) 02:02:54.37ID:fkJrhcWm >>804
なぜ中間変数 l が必要なのかと考えたら、無理に1行でまとめると:
list(map(lambda l: l ** 2, list(range(0, 10, 2))))
カッコが4重にも重なり視点が左右に行ったり来たりする
可読性の悪いコードになってしまうからですよね
>>803氏が指摘しているような、視点が左から右へと流れるような
コードは、今時のオブジェクト指向(メソッドチェーン)あるいは
関数型(パイプライン演算子)の特性を備えた言語であれば、
なんの苦もなくさらっと書けるのに:
(0..9).step(2).map {|n| n ** 2}
いったいどうしてこんなことになってしまったのでしょうか
なぜ中間変数 l が必要なのかと考えたら、無理に1行でまとめると:
list(map(lambda l: l ** 2, list(range(0, 10, 2))))
カッコが4重にも重なり視点が左右に行ったり来たりする
可読性の悪いコードになってしまうからですよね
>>803氏が指摘しているような、視点が左から右へと流れるような
コードは、今時のオブジェクト指向(メソッドチェーン)あるいは
関数型(パイプライン演算子)の特性を備えた言語であれば、
なんの苦もなくさらっと書けるのに:
(0..9).step(2).map {|n| n ** 2}
いったいどうしてこんなことになってしまったのでしょうか
806デフォルトの名無しさん
2020/08/19(水) 02:42:54.68ID:w/3evjlx Python は、右から読むから、可読性が低い。
Ruby, Elixir みたいに、左からメソッドチェーン・パイプで、書くのが分かりやすい
paiza で、打ち込める
Ruby, Elixir みたいに、左からメソッドチェーン・パイプで、書くのが分かりやすい
paiza で、打ち込める
807デフォルトの名無しさん
2020/08/19(水) 07:53:27.30ID:lpXV8Fer メソッドチェーンはできないわけじゃないけど、実際に使われている例が少ないのはPythonの言語思想によるものなんですかね?
808デフォルトの名無しさん
2020/08/19(水) 10:15:22.66ID:LQ0AAX+I >>897 1ラインは当然できるが、サンプルと同じようにインタプリタの動きが見えるようにしただけだよ。
1ラインなら
list(map(lambda i:i**2 , range(0,10,2)) )
1ラインなら
list(map(lambda i:i**2 , range(0,10,2)) )
809デフォルトの名無しさん
2020/08/19(水) 11:45:02.35ID:meyBYzW3 >>807
そうだよ
listを生成したいならmapやfilterは基本的に使わずに内包表記を使うのが慣習
[x ** 2 for x in range(10) if x % 2 == 0]
サードパーティのライブラリとか使えば左から右に読めるようにできるけど
Pythonの慣習から外れて逆に読みにくくなるしメンテも大変になるから特別な理由がない限りやらない
言語のやり方/慣習にプログラマーの考え方を半ば強制的に合わせていくのがPython流
そうだよ
listを生成したいならmapやfilterは基本的に使わずに内包表記を使うのが慣習
[x ** 2 for x in range(10) if x % 2 == 0]
サードパーティのライブラリとか使えば左から右に読めるようにできるけど
Pythonの慣習から外れて逆に読みにくくなるしメンテも大変になるから特別な理由がない限りやらない
言語のやり方/慣習にプログラマーの考え方を半ば強制的に合わせていくのがPython流
810デフォルトの名無しさん
2020/08/19(水) 12:47:09.25ID:d4bqPFA7 > [x ** 2 for x in range(10) if x % 2 == 0]
これ右から左どころか、
真ん中 → 一番右 → 一番左
だよね…
英語話者はこれが分かりやすいのか…
これ右から左どころか、
真ん中 → 一番右 → 一番左
だよね…
英語話者はこれが分かりやすいのか…
811デフォルトの名無しさん
2020/08/19(水) 19:29:28.57ID:I73/RJt9 { x ^ 2 | x ∈ S, x > 3 } みたいな数学の集合の表現が元ネタなのかもね
812デフォルトの名無しさん
2020/08/19(水) 22:07:17.87ID:qaQDZzfo >>810
> [x ** 2 for x in range(10) if x % 2 == 0]
> 英語話者はこれが分かりやすいのか…
TOEIC800オーバーしてるけど、python のこの文法
いまだに好きじゃない。ネイティブの頭の中ってどう
なってんだと。
> [x ** 2 for x in range(10) if x % 2 == 0]
> 英語話者はこれが分かりやすいのか…
TOEIC800オーバーしてるけど、python のこの文法
いまだに好きじゃない。ネイティブの頭の中ってどう
なってんだと。
813デフォルトの名無しさん
2020/08/20(木) 18:37:31.20ID:2Z4t0tdX 俺は初心者嵌め込み芸が見たいんだよぉ
814デフォルトの名無しさん
2020/08/21(金) 05:33:15.65ID:h8L5CXrg 若い芽のうちに摘み取る
815デフォルトの名無しさん
2020/08/21(金) 17:06:32.64ID:UclRyzb9816デフォルトの名無しさん
2020/08/21(金) 18:33:30.84ID:kGKVJd7/ うんでそれ欧米マインドだよね
日本人はよく言われるように時系列にそってダラダラ話展開して結論は最後
日本人はよく言われるように時系列にそってダラダラ話展開して結論は最後
817デフォルトの名無しさん
2020/08/21(金) 18:43:56.66ID:d8dAlg6h 今日JavaScriptをテキストに書く作業があって死んだ
別にJavaScriptを悪くいうつもりはないが
インテリセンスが全くないのはキツいわ
別にJavaScriptを悪くいうつもりはないが
インテリセンスが全くないのはキツいわ
818デフォルトの名無しさん
2020/08/21(金) 18:50:20.21ID:90ZFpIps ?
819デフォルトの名無しさん
2020/08/21(金) 19:06:07.82ID:7UnAdk+W >>815
表現の順序に一貫性があればわかりやすいんだろうけど
Pythonはその辺ぐちゃぐちゃだからね
それに内包表記も少し複雑になると急に可読性が低くなるので
メソッドチェーンでつなげる言語と比べると命名負荷がかなり高い
表現の順序に一貫性があればわかりやすいんだろうけど
Pythonはその辺ぐちゃぐちゃだからね
それに内包表記も少し複雑になると急に可読性が低くなるので
メソッドチェーンでつなげる言語と比べると命名負荷がかなり高い
820デフォルトの名無しさん
2020/08/21(金) 20:02:37.06ID:YabcZt9w 内包表記は、forとinが埋もれやすいのが読みにくさを感じる原因かなぁ。せめてforが | なら……。
821デフォルトの名無しさん
2020/08/21(金) 20:12:04.32ID:AmN+G9vM >>820 いやいや、for in の方が小学生でも理解しやすい。
822デフォルトの名無しさん
2020/08/21(金) 20:18:52.66ID:l8F+UVdl >>815
〇〇君 x ** 2つくといてね
範囲はrange(10)ね
ああ、いいわすれたけど if x % 2 == 0ね
って感じか 確かに忙しい飲食店的みたいだな
スピード求めるとこうなるのかも
〇〇君 x ** 2つくといてね
範囲はrange(10)ね
ああ、いいわすれたけど if x % 2 == 0ね
って感じか 確かに忙しい飲食店的みたいだな
スピード求めるとこうなるのかも
823デフォルトの名無しさん
2020/08/21(金) 20:52:03.31ID:da7ViZUa すいません、スレタイの答え出ましたか?
何やればいいですか?
何やればいいですか?
824デフォルトの名無しさん
2020/08/21(金) 20:54:08.85ID:yq0UM+AD COBOLとかSQLみたいに中途半端に英語っぽいプログラミング言語は嫌だなあ
前置詞がなんとも気持ち悪い。むしろない方がいい。
x = 1
みたいな言語も今から思うと失敗だったなあと
前置詞がなんとも気持ち悪い。むしろない方がいい。
x = 1
みたいな言語も今から思うと失敗だったなあと
825デフォルトの名無しさん
2020/08/21(金) 21:48:40.76ID:wZ5cw6nF >>823 Python だと言ってるだろ。
826デフォルトの名無しさん
2020/08/21(金) 22:40:28.37ID:jp+HsOQw827デフォルトの名無しさん
2020/08/21(金) 22:57:51.52ID:eAFTZRK/ 草
828デフォルトの名無しさん
2020/08/21(金) 23:59:00.05ID:WZVvAWe5 >>823
SIerになりたいのかWeb系で働きたいのかで変わってくるらしい(KENTAを参照)
SIerになりたいのかWeb系で働きたいのかで変わってくるらしい(KENTAを参照)
829デフォルトの名無しさん
2020/08/22(土) 00:02:35.58ID:eHcVL9xj もしかしてキミはRubyくん?
830828
2020/08/22(土) 00:15:24.09ID:+0tqBfhT 違います
831デフォルトの名無しさん
2020/08/22(土) 00:40:16.97ID:2Lic30ck832デフォルトの名無しさん
2020/08/22(土) 00:53:35.11ID:YRXoMRdS 人気ナンバー1の言語をやってれば良いよ。
Python
学習がしやすく応用範囲が広い。
Python
学習がしやすく応用範囲が広い。
833デフォルトの名無しさん
2020/08/22(土) 00:56:05.58ID:tTrU5hEG とりあえずEC2でインスタンスを作ってPython3をインストールしてみたよ
834デフォルトの名無しさん
2020/08/22(土) 02:11:56.98ID:7eZsHqVL >>833
もう一人前やな!
もう一人前やな!
835デフォルトの名無しさん
2020/08/22(土) 06:20:45.25ID:H4y73psn >>824
> COBOLとかSQL
一緒にするには無理がある
コボラーこそ最も逐次処理脳なので、構造化言語とは極北
もっとも、見た目たしかに括弧や記号が少なく、ソースが表のように綺麗に並ぶ
SQLも工夫すれば綺麗に並ぶ
> COBOLとかSQL
一緒にするには無理がある
コボラーこそ最も逐次処理脳なので、構造化言語とは極北
もっとも、見た目たしかに括弧や記号が少なく、ソースが表のように綺麗に並ぶ
SQLも工夫すれば綺麗に並ぶ
836デフォルトの名無しさん
2020/08/22(土) 10:58:17.74ID:1SZISF1a YouTube で有名な、雑食系エンジニア・KENTA の動画を見れば?
web 系なら、Ruby on Rails が標準。
皆これで、ポートフォリオを作る
反Ruby では、モローがいる。
Java 土方の仕入れ業者
自社サービス系のRuby vs 5大SIerのJava土方
Linux では、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
web 系なら、Ruby on Rails が標準。
皆これで、ポートフォリオを作る
反Ruby では、モローがいる。
Java 土方の仕入れ業者
自社サービス系のRuby vs 5大SIerのJava土方
Linux では、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
837デフォルトの名無しさん
2020/08/22(土) 11:07:27.68ID:ynHTu2wq 日本人が作った、って不安要素でしかないんだが…
838デフォルトの名無しさん
2020/08/22(土) 11:16:25.72ID:TIWYvQ38 >>832
頭の良い人がライブラリたくさん作って公開してくれてるから、バカでもコーディングできる。
これがパイソン。
Rubyなんて落ち目だよ。Java土方って言ってるバカがいるけどJavaもいい。
PHP8もそろそろ正式リリースだから、PHPもいい。Rubyなんかより断然なw
頭の良い人がライブラリたくさん作って公開してくれてるから、バカでもコーディングできる。
これがパイソン。
Rubyなんて落ち目だよ。Java土方って言ってるバカがいるけどJavaもいい。
PHP8もそろそろ正式リリースだから、PHPもいい。Rubyなんかより断然なw
839デフォルトの名無しさん
2020/08/22(土) 11:22:25.35ID:7eZsHqVL rubyガイジ来たかw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 高市「発言は撤回しない。謝罪もするな。外務省局長!任せたぞ。」👈なにをさせたかったの?😲 [826239858]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
