ぶっちゃけ始めるのにいい言語て何 part2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/07/16(木) 16:11:58.71ID:FdxXVx6E
前スレ
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
356デフォルトの名無しさん
垢版 |
2020/07/30(木) 18:24:15.31ID:jRBN85oj
>>346
ジャンケンはお前かw
勝率を先に指定するってどう言う事?って思ったわw
あれよな。
総当たり戦の応用で条件分岐消すアルゴリズム前提なのか。

残念。
そのアルゴリズム知らんのだ。
正規表現も知らん。

だからHaskellでゴリゴリ書くのだw
Perl本家より先にPerl6の処理系出して話題になった(2006)Haskellだから、正規表現前提のLLとは違うのだよ。

近日中に書くね(^_−)−☆
357デフォルトの名無しさん
垢版 |
2020/07/30(木) 18:24:25.59ID:odFw/CMl
まあハスケロンとパイトンじゃ勝負にならないよね。
2020/07/30(木) 18:27:27.39ID:cH8Va6i2
>>356
残念。ジャンケンではないよ。
359デフォルトの名無しさん
垢版 |
2020/07/30(木) 18:27:38.32ID:jRBN85oj
>>355
え、リスト内包表記とか、インデントでスコープ表現とか、丸被りやん?
ジェネレーターも部分的な遅延評価だし。
360デフォルトの名無しさん
垢版 |
2020/07/30(木) 18:34:25.65ID:odFw/CMl
パイトンはマルチパラダイムの方向性で関数型とは趣を異にすると思いますが、信者は真似したとか言いたくなるんでしょうね。
すべてUbuntuからパクってるのに。
2020/07/30(木) 18:36:39.64ID:DFjeaZjZ
>>341
SmallBasicやSmileBasicもあるぞ。
てかBasicは方言が多いと言うより標準がないと言ったほうがいいかもしれん。
2020/07/30(木) 20:55:44.69ID:3RYJCHG6
Haskellいいけど、仕事があるという価値観も入れて勧めて欲しい
2020/07/30(木) 21:02:03.34ID:cH8Va6i2
>>361
へぇ、プチコンってSmile Basicって言うんだね
ってかSwitch版出てんじゃん!!

そんな難しいもんじゃないから
テレワークの合間に弄くり倒してみようっと
364デフォルトの名無しさん
垢版 |
2020/07/30(木) 21:05:43.10ID:pw0tlMun
>>362
始めるのに良いであって、仕事があるでは無い。
アルゴリズムを見て読みやすい書きやすい。
アルゴリズムの動きが理解出来たら他の言語でも書ける。
2020/07/30(木) 21:18:42.96ID:cH8Va6i2
ふふ、みんな仕事を抱えているだろうから仕事中心に考えるだろうけど、
ゲームを本格的に作るとなるとそのロジックの考え方はかなり根本的に違うからね。

昔からゲーム業界から何らかのシステムを作ろうと職種変換しようとした会社は結構潰れてるし、その逆もそう。

ま、BASIC程度で作るのであれば画面描写単位とか走査線単位の割込み処理とか考えなくてもいいから
本当の根幹部分の違いはあまり無いかも知れないけどね。
2020/07/30(木) 21:20:49.42ID:+OxX0XLJ
>>364
アルゴリズムの動きとか不思議な話してんな
複雑なアルゴリズム必要なものは今は大抵ライブラリを使うのに
2020/07/30(木) 21:22:26.51ID:SHrdySLu
画面描写単位で業務こなせたら早いだろうなー
2020/07/30(木) 21:29:55.16ID:1U+fWq81
自分が何もわかってないのにわざと物事を難しい方に持っていって説明する人多くね?
自覚ないのか恥ずかしくないのかどっち?
2020/07/30(木) 21:34:15.84ID:SHrdySLu
基本だからベーシックって言うのに
小さいとかビジュアル系とかお笑いだねー
2020/07/30(木) 21:41:30.23ID:cH8Va6i2
>>369
ビジュアル系ってのはまぁ、「どこが?」って言われるとそうなんだけど、今迄の経緯諸々があってそんな名前になってる。VCなんてのもそう。

大きさは余り関係ないかな。
VB.Netとかその辺はC#と同じ扱いだし。
2020/07/30(木) 22:33:31.59ID:cH8Va6i2
>>366
ライブラリかー
ライブラリなー

ひとつこんな話をしましょうか
ゲーム好きだからそっち方面の話になってごめんね。

昔、プレイステーションというゲーム機が出て、
それまでのゲーム機と比べて格段に綺麗で
コンシューマのゲーム機としては
3Dの表現も初めて本格的なもので
言語もアセンブラからC言語になり、
ライブラリも豊富に揃って、ハード、開発環境とも
それは素晴らしいものでした。

ところが出て数年した頃、プレイヤー達が
あることに気付くのです。
爆発や光を表現した俗に言うエフェクト
というものが、どのゲームも同じようなものばかり。
そうです。みんなこのライブラリを使えば
こんな効果が得られると、大して考えもせず、
同じライブラリを使用していたのです。


俺もこの人がどんな業種でどんなプログラム
組んでるか分からないからなんとも言えんけど、
数学好きって言ってたから一般の業務と違って
何かそれなりのことがあるんじゃなかろうか
2020/07/30(木) 22:34:59.02ID:nXklkDE7
>>335
RambdaではなくLambdaな。気になってしまう。

Haskellのレポジトリ云々はPandocとか見ればええんちゃうん?
2020/07/30(木) 22:39:27.68ID:cH8Va6i2
>>372
すまない。今度からちゃんとランブダ式って書くわ。
2020/07/30(木) 22:43:48.64ID:tLZeLpgn
どうしてもボイン補うならランバダにしろ。
2020/07/30(木) 23:25:32.67ID:wSsRs/yz
>>318
Haskellのことはよく知らないのでそれで否定的なことをいうのもなんだが、
>コンパイル通ったら、ほぼバグが無いとさえ言われるくらい型を意識するから。
これって本当だろうか。
通常のプログラムでは、バグの原因は様々なことが考えられて、単なる型の不一致や誤りはごくわずかで、
ロジックのミス、考慮漏れ、仕様の不理解、などなど、型がどうのこうのでは防げないものが
大部分だと思うけど、どうなんだろう。
Haskellの場合、型で書いたことがほぼすべて、記述できる内容が限られているから
バグも作りこみようがない、というだけの話なのかな?と思ってしまう。その辺、どう?

Haskell好きなのはよく伝わってくるし、それ自体は否定する気は毛頭ないんだけど、
Haskellなら変な癖がつかない(>>294)という発言には疑問が生じる。

Haskellも他の言語も十分習得した人間が考えて発言しているならともかく、
>>329で書いているように他の言語のことはほぼ知らない、具体的なプログラムを書けない人が、
Haskellの思考がまったくパラダイムの異なる他の言語の理解にとって
「変な癖」にならないと言い切れるものだろうか?
2020/07/30(木) 23:48:01.16ID:cH8Va6i2
>>375
恐らくだけど、文章から察するに、主体として型への意識の話をしているから
一度コンパイルを実施した後は,ほぼ実行時エラーは出ないってことなんじゃないかな。
論理エラーはまた別の話だと思うよ。
2020/07/31(金) 00:29:37.91ID:r769PI2E
このスレを見る限り初心者のうちはLinuxを避ければいいみたいだな
2020/07/31(金) 00:30:10.83ID:WweUD7gr
J a v a 最 弱
2020/07/31(金) 00:34:49.31ID:WweUD7gr
KENTA「モダンなWeb系自社開発企業に就職したい場合、(Pythonや)
J a v a は 選 択 し て は い け な い」
380デフォルトの名無しさん
垢版 |
2020/07/31(金) 00:46:21.45ID:8IvmCHnV
Windows ユーザーなら C# (.NET Core) をやるのが一番いいよ。
.NET Core SDK と Visual Studio Code をインストールすればいいだけ。
VS Code は登録も不要だし商用利用も可。
381デフォルトの名無しさん
垢版 |
2020/07/31(金) 02:34:30.55ID:fOAC77cv
いやそれ書いたとおりに動いてるだけでバグじゃないから。
382378
垢版 |
2020/07/31(金) 02:54:30.78ID:WweUD7gr
すいません、最弱は言い過ぎました
Java使いの皆様に深くお詫び致します
2020/07/31(金) 03:37:01.30ID:PQssP+wa
次のMalbolgeプログラムは"Hello, world"を出力する。

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
2020/07/31(金) 07:17:33.63ID:TQ16TWaV
>>377
PC自作して、Windows買い忘れたときはとりあえず入れておけばいいものだよ
もちろんWindows買って来たらさっさと消すけど。
普通にPC買ったときは、Windowsは最初から入っているので別に気にしなくても大丈夫。
一生関わらなくても何の問題もないよ。
2020/07/31(金) 07:31:38.56ID:XRjTxCU/
仕事でやるんならとりあえず
Java、C、アセンブラ、Python、EXCEL辺りから始めるといいよ。
根拠?その内どれかが出来ないと基本情報技術者試験が通らないから。
386デフォルトの名無しさん
垢版 |
2020/07/31(金) 11:49:54.71ID:jS9Cx2d9
>>366
狭義のアルゴリズムが一般的だっけ。
じゃあコードと読み替えて良いよ。
何をやってるコードか読み易い。
387デフォルトの名無しさん
垢版 |
2020/07/31(金) 11:51:14.36ID:jS9Cx2d9
>>375
DelphiやC#でPaint的なの作ったり程度なら出来るけど、ライブラリがサポートしてないファイル形式を読み書きするアルゴリズムをファイル解析して作ったりは出来ないと言ったレベルです。

Haskellがコンパイル通ったらほぼバグが無いのはHaskellの関数が全て数学的な意味での関数だからかと。
普通の言語のifもHaskellでは必ず値を返さないといけないので、elseが無い処理をHaskellで再現する際は失敗する可能性のある型として、Maybe型で包みます。

if x == 1 then Maybe x else Nothing

あとはパターンマッチが上から精査される性質上、空のリストを受け取った場合の様な、
特殊なパターンから順番に書かないと止まらない場合があるので、特殊なパターンを先に書いていくと言う暗黙のルールがあったり。

一見不便なそう言うのが、バグが有ったら戻り値の型が合わないと言う形で出て来るのではと。

Haskell難しいって人はリストのリストとか、そのまたリストとか、そう言うのを返す関数作って型が合わないって怒られてイライラした人なんじゃ無いかと思う。
そう言う時は部品として使ってる小さい関数が正しく動いてるか再確認して行けば、大抵解決する。

オブジェクト指向でもメソッドチェーンが繋がると気持ち良いとか、でもデバッグ大変とか言われてると思うけど、
そう言う気持ちよさと(自分では思った事ないけど)大変さがある。

Haskellは最終的に全部がmain関数の値を求める巨大な式に集約される。

Pythonでも書いて良く比較する事あるけど、パターンマッチで箇条書きにするからか、Pythonと比べるとロジックのミスは確実に少ない。
(Haskellで先に書いて、同じ処理をPythonで後から書いてるのに、Pythonの方がバグを作り込む)
388デフォルトの名無しさん
垢版 |
2020/07/31(金) 12:00:35.55ID:jS9Cx2d9
x Maybe x
o Just x

Maybe型の値はJust aかNothingだた・・・。
2020/07/31(金) 12:33:54.83ID:XRjTxCU/
>>387
ちょっと何を言ってるかわかりませんね
3行でお願いします
2020/07/31(金) 12:43:26.07ID:ABbdmNBz
就職に有利とかすぐ金になるとか導入が簡単とか身近に教えてくれる人が居るとか参考になるサイトがたくさんあるとかそういう紹介があまり見えない気がする
言語の性能のすばらしさを説明されても何もやったことがない人に理解も納得もできるはずがなく
2020/07/31(金) 12:58:46.07ID:GxmlUbA1
>>388
なるほどHaskelが普及しない理由が良く分かりました。
392デフォルトの名無しさん
垢版 |
2020/07/31(金) 13:08:35.91ID:fOAC77cv
利点が伝わりにくいというか、利点が無いのだけどw
2020/07/31(金) 17:04:11.50ID:TQ16TWaV
>>390
そもそも何でプログラム始めることにしたのかが先だよ
394デフォルトの名無しさん
垢版 |
2020/07/31(金) 18:27:50.98ID:0f+FO9Ge
>>389
こう言えばスッキリかな。

普通の言語は制御(ifとかfor)が文だけど、Haskellは制御も基本式なので型検査の対象になるので、普通の言語よりも多くバグを検出出来る。
2020/07/31(金) 19:30:44.18ID:Mc7NmU7S
>>394
どんなアプリをHaskellで書きました?
2020/07/31(金) 19:55:43.65ID:Q7hjdc7P
>>394
MaybeとJustの取り違えは防げないんですかぁ?w
397デフォルトの名無しさん
垢版 |
2020/07/31(金) 22:36:41.12ID:Ki3B8LBa
言語別でできることはググれば出てくると思う

それでもよくわかんなかったら
HTML, CSS, JS セットで勉強したらいい
この辺りは今後あって邪魔になることはないと思うし
(JSが言語的に最初にはどうなのという話はあるが)

あとは、どんな環境で働きたいかによりそう
言語別の会社に対する偏見
Java => 仕事は尽きないほどあるが労働環境がまだ野蛮だったりしそう
PHP => 中途半端そう
Ruby => スタートアップで大きくなってきてそう
Python, Node => スタートアップでまだ小さそう(Python と機械学習とセットの場合に関しては Ruby と同じ様なイメージ)

異論は認める
2020/07/31(金) 22:54:21.96ID:EqbJAz2u
真面目にやる気があるのならJavaScriptだろうがコマンドラインだろうがbashだろうが何でもいいからとにかく始めろって話
就職のために覚えるのならいい言語なんか吟味している余裕なんか無いし
趣味のためだけにやるのならいい言語を探している時点でモチベが無いんだからやらない方がいい
2020/07/31(金) 22:56:40.42ID:UuBKtWSF
>>269 Open Office があるよ。

https://www.openoffice.org/ja/
2020/07/31(金) 22:59:09.62ID:UuBKtWSF
>>270 Microsoft ですらVBAを捨ててJavascriptに切り替え中。

世の中ではPython をマクロとして使うのも増えつつある。
2020/07/31(金) 22:59:24.45ID:h2BvMEZJ
>>390

>>271
に、書いておいた

かよちんの動画がある。
プログラミング未経験者が、Ruby on Rails で、1か月で作ったポートフォリオで就職できた!

ポートフォリオとか新規起業は、Rails 一択。
他のフレームワークでの提出は、受け付けない。
見れる人がいないからw

YouTube のモローなどは、反Ruby。
Java 土方を仕入れたい側の人

一方、KENTA などは、土方・5大SIer みたいな奴隷制度が大嫌い。
モダンな自社開発系だから、Ruby を勧める

Java vs Ruby
土方・奴隷 vs 自社開発系
下流工程プログラマー vs 上流・設計・サーバー側・SE
Windows デスクトップPC vs Linux サーバー
Closed Source vs OSS エコシステム

つまり、悪 vs 善
2020/07/31(金) 23:01:35.40ID:EqbJAz2u
>>399
スレ違いだけどOooやLibreはVBAが鬼門
2020/07/31(金) 23:22:35.75ID:yu65eNBx
KENTA「Rubyに拘泥するやつは伸びない。早くちゃんとした言語に乗り換えること」
2020/07/31(金) 23:31:13.12ID:UuBKtWSF
Python を始めて連立方程式や文字変数方程式が解けることに感動したな。
仕事では余り数式を使う様なことはなかったから不便さも感じていなかったが、昔から知ってたら別の道に進んでいたかも。
なんかやりたいことがあったら何でも揃ってる感じだな。
405デフォルトの名無しさん
垢版 |
2020/07/31(金) 23:39:56.76ID:WweUD7gr
>>403
裏を返せば、一歩目はRubyにすべきってこと
406デフォルトの名無しさん
垢版 |
2020/07/31(金) 23:43:49.68ID:8IvmCHnV
Windows なら C# (.NET Core)
macOS なら Swift
Linux なら C/C++ (gcc)
が一番なのでは。
学術目的であれば Python か Java もおすすめ。
407401
垢版 |
2020/08/01(土) 00:00:08.18ID:xL8Di7oE
今までのKENTA の方程式は、
Ruby → Scala → Go だった

でも、Scala は言語が寂れてきたので、コミュニティーも崩壊して、
初心者イジメで、マウントを取る香具師が増えた

だから、今の道筋は、
Ruby → Go

実際に、Rails をやる事で、MVC・ソフトウェア設計のベストプラクティスを学べる。
なぜ、こういう設計をするのか、
それがRuby が、すべての言語の基礎になる理由

基本、OSS エコシステムだから、Node.js, Webpack などをパクリまくる。
逆に、npm/yarn などは、RubyのBundler をパクッているw

このパクリ合いにより、進化の加速度がすごい!
Ruby ←→ JavaScript

すべてのフレームワークは、Railsをパクるけど、Railsもパクリ返すw
2020/08/01(土) 00:51:36.03ID:V7ze4pNE
>>406
弟より下の世代はパソコン持って無くてスマホなんだよね
それでホームページどうやって作んの?って聞かれて
まず中古で良いからパソコン変えって所から始まる感じ
409デフォルトの名無しさん
垢版 |
2020/08/01(土) 01:14:33.60ID:joaD+tGY
ぶっちゃけ始めるのにいい言語というものはOSによって左右されるべきではない。
2020/08/01(土) 01:20:34.10ID:V7ze4pNE
>>409
仮想言語で教えるわけにはいかないので
ちゃんと動くものでないと
MVCの基本が学べるHTML+CSS+JavaScript
をさらっとメモ帳で書いて弟に見せたら
「あー、えーと、んー、いいわっ」っでオワタʅ(◞‿◟)ʃ
2020/08/01(土) 01:29:43.45ID:DevgU1HX
子供(小学生・中学生)におすすめのプログラミング言語の種類4選!メリット・注意点も解説

https://wonder.litalico.jp/news/column1908-03/

@Scratch(スクラッチ)入門
AC♯(シーシャープ) unity ゲーム
BSwift(スウィフト) iPhoneアプリ
CPython(パイソン) 一般的
2020/08/01(土) 01:32:22.07ID:vwByE28t
>>394
>普通の言語は制御(ifとかfor)が文だけど、Haskellは制御も基本式なので型検査の対象になるので、普通の言語よりも多くバグを検出出来る。
いまだにイメージできない…。
すごく簡単な例でいいので、普通の言語のifやforを使ってバグがある例と、それと同等なHaskellのコード(=バグを検知できる)を挙げて、
どうして検出できるのかを教えてもらっていいかな?
2020/08/01(土) 01:36:52.33ID:vwByE28t
>>387
DelphiやC#で作ったというPaint的なアプリを、Haskellで作ることって現実的に出来そう?
描画関連など当時使用したAPIがHaskellから呼び出すことができると仮定して。
414デフォルトの名無しさん
垢版 |
2020/08/01(土) 03:26:37.00ID:bRba9mah
小学生はUbuntuから始めるべき。
2020/08/01(土) 03:54:01.11ID:cVs1T9fD
pythonはすげーいいと最初思ってたが、
Threadingやasyncioを使いだして死ぬほどくそのゴミ言語と理解した。
2020/08/01(土) 04:16:49.43ID:DevgU1HX
>>415 ちょっとその辺は癖があるね。
417デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:41:06.34ID:bRba9mah
エクセルを禁止しないと、日本のITがますます世界から遅れる。
418デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:45:18.63ID:AohC73wd
>>396
人間はミスしますからね。
だからこそコンパイラさんに頑張って洗い出してもらうのですよ。
419デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:47:47.88ID:AohC73wd
>>398
賛成。
結局、プログラミングは道具だから、別に目的が無いとただの言語オタで終わる。
420デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:49:40.57ID:hADlV/rS
まずは日本語で設計書を書くところから始めないと
421デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:57:40.07ID:AohC73wd
>>413
出来ます。
純粋関数型言語って付いてますが、普通に副作用(入出力などの数学で矛盾する動作)はあります。
Haskellが純粋関数型言語なのは副作用があっても参照透明性を保って、値や型のやり取りの矛盾が無い為です。
422デフォルトの名無しさん
垢版 |
2020/08/01(土) 04:58:22.61ID:AohC73wd
>>412
仕事行くので、昼頃書きますね。
2020/08/01(土) 05:59:32.98ID:VVRkNkWF
>>400
EXCELはJavaScriptどころか
今ではその気になればPythonも使えるし
ビッグデータを扱うSASだって使えるし
頑張ればアセンブラだって使える。
C#やVB.Netは使えないけど、
.NetFreamworkの機能も少し使えたような・・・?
2020/08/01(土) 06:29:11.06ID:VVRkNkWF
今日はVBA推しで行ってみようかな
ちなみにVBAをやるには向き不向きがあります。

VBAに向いてる人
・プログラマーに向いていない人
・「〜の絵本」とか見てそっとじだった人
・WindowsとOfficeが入ってるPC持ってる人
・別に深く知りたいとも思ってないし、面倒だという人
・雑で適当なんだけど、負けず嫌いな人

VBAに向いていない人
・これから真面目に文法や型の基礎、セオリー等を学びたい人
・周辺機器を含めた、ひとつのシステムの完成を目指している人
・Macはまだしも、OSがUNIXやLINUXでOfficeが入れられない人
・チー牛食べてそうなくらい真面目な人
2020/08/01(土) 06:54:15.68ID:99aXZJet
VBAって発音はヴバで合ってますか?
2020/08/01(土) 10:25:00.98ID:lFfh1KEF
>>425
違います。
VBAと書いてアイエニューメラボーと読みます
VBAに限らず難しい言葉は大体これで通用すると
ネットのどこかの辞書がそんな感じでした。
2020/08/01(土) 11:24:36.66ID:biQ1QRTH
ヴィーバ
2020/08/01(土) 11:28:52.12ID:zm6vc5M3
>>424
なんでVBScriptじゃだめなんですか!IEの設定が面倒なんですか!
それならこっちは秀丸のマクロをプッシュだ!
429デフォルトの名無しさん
垢版 |
2020/08/01(土) 11:35:12.80ID:biQ1QRTH
https://www.publickey1.jp/blog/15/microsoft_edge_activex_vbscript.html
2015年5月7日

ActiveXやVBScriptなどが、Windows 10から搭載される新しいブラウザのMicrosoft Edgeではサポートされないことが明らかになりました。
430デフォルトの名無しさん
垢版 |
2020/08/01(土) 12:02:58.28ID:9QK6xp3l
>>412
バグを意図的に作るのは難しいのですが、フィボナッチ数を判定する関数とかは例として分かりやすいのでは?
フィボナッチ数じゃ無かったパターンを書き忘れても普通の言語だと文法上は間違いじゃ無いので、実行時エラーになる。
HaskellだとNoting返そうとしたら、受け取るパターンが無いと怒られてコンパイルエラーになる。
(悪魔で返そうとしたら受け取るパターンが無いから検知出来るので、外部からの入力とかで、
入力するまでパターンがあるか無いか分からないとかだと検出出来ない場合もある)


main = (mapM_ (put.isfib)) [0..1000]

put Nothing= return ()
put (Just x) = print x

fibs = 0:1:zipWith (+) fibs (tail fibs)

isfib = isfib' (zip fibs [1..])
where
isfib' ((a,b):_) x | x == a = Just (a,b)
isfib' ((a,_):_) x | x < a = Nothing
isfib' (_:ts) x = isfib' ts x
2020/08/01(土) 15:27:46.94ID:lcbdOhcF
>>423
VSTO使えばC#でExcel拡張作れるよ
2020/08/01(土) 19:05:58.49ID:VVRkNkWF
EXCEL VBAは昔のBASICの血も引いているから
遠い昔、BASICしかやってない
おじいちゃんにも優しい言語。

VBAスレにはそんな人ばっかいる。
ついでにLinuxおじさんもきてたから
迷惑掛けないように注意しといた。
2020/08/01(土) 20:52:59.78ID:VVRkNkWF
VBAの中でもEXCEL VBAは「マクロの登録」、通称マクロ先生と呼ばれている機能があって、
自分が行った操作をVBAのコードとして記録してくれる。

最初はこれを眺めて、自分が欲しいところを探して、「なんかここっぽいなー」みたいなところを切り貼りする感じから始まる。
なので最初はいきなり言語の勉強ではなくて、このマクロが書いてある場所と、
そこの編集をどうするのか、どうすれば走らせることが出来るのがをネットや本で調べるのがお題。

後は関数、変数とそれに値を代入すること、
+、-、/、*の四則演算、分岐、繰り返しを
なんとなくネットで調べて使えるようになれば、
マクロ先生がはいたコードと組み合わせて
なんとなくのものは組めるようになる。

で、コンパイルなくても殆どの場合実行出来るコード、ブレイクポイントを設定してトレース中にコードを直しながら実行していける適当さ、
型もゆるゆるで宣言なんてしなくても怒られないくらい。

ある程度何かの言語やってる人ならこの時点で「ダメじゃん!!」ってなるだろうけど、VBAの最初はそこまで雑で適当でも行ける。

そうやって始めて続けてってその言語仕様が糞だと感じ始めたら卒業かな。
したらC#辺り、C#でキツいと感じるならVB.Net辺りから始めればいい。
それでもObject指向の洗礼を受けることになるから「もうVBAのままでいいやー」って挫折してずっと
ぬるま湯に浸かっていようとするひとも多いけど。

VBAはここに来ているような才能に恵まれたような人には不要な言語。
でも最初にプログラムってこんな感じなんだーって掴むにはいいかも知れないって意味で推してみる。
2020/08/01(土) 21:51:57.95ID:vwByE28t
>>430
わざわざありがとう。お手数をおかけしました。

せっかくコード挙げてくれたのにhaskellをちゃんと読めないので誤解しているかもしれないけど、
つまりhaskellの関数は戻り値のパターンを型として明確に定義されることになるので、
受け取り側はそれらのパターンを漏れなく処理することがコンパイラによって義務付けられている
(=違反するとエラーとして検知できる)ということかな?

そうだとすると、型として定義された情報については違反は検知できる、
型の定義を誤る(=人間が誤った意図をコンパイラに指示する)ことは
コンパイラでは検知できないということだよね。

なので、言語仕様としてある種のミスは検知しやすい仕組みがあるが別に万能ではなく、
コンパイルが通ればバグがほぼない、というのは大げさかな、と思う。
逆に言えば、コンパイルが通ればバグがほぼない、という場合に想定しているコードが
haskellの型システムで検知しやすい記述ができるものを想定して議論している、
ような気もする。

確かに数学的、論理的に美しいものなのかもしれないし、俺もそういうのは嫌いではない方だと思う。
(大学卒業後はまったくその手のものに触れていないけどw)
ただ、根本的な目的や用途が違うから、haskellと普通のプログラミング言語を比較して
議論すること自体がナンセンスなのかなと思った。

「コンパイルが通ればバグがほぼない」という点に引っ掛かりを感じただけなので、
けしてhaskellのことを否定的に見ているというわけではないです。
435デフォルトの名無しさん
垢版 |
2020/08/02(日) 10:34:59.84ID:6IkJbvt6
>>434
その通りです。
普通の言語よりバグを検出しやすい仕組みではあっても万能では無いし、人間が使用を勘違いしているのまでは見抜けません。
436デフォルトの名無しさん
垢版 |
2020/08/02(日) 10:54:52.62ID:6IkJbvt6
>>434
一応、Haskellも実用言語なんですけどね・・・。
私自身、Python やRuby,Perlでやる様な文字列処理をHaskellでやってますし。
このフィボナッチ数を判定する関数も、CとPythonの間の処理速度なんですよ?
(C <<< Haskell << Python)

HTMLやXAMLの様なXMLベースのGUI体系には相性良いと思うんですけどね・・・。
(HTMLはPureScriptやElmなどのHaskell似のJavaScriptトランスパイラーが出たから、まあだ目があるとして)
437デフォルトの名無しさん
垢版 |
2020/08/02(日) 22:59:46.79ID:afjdMLlX
関数型なら、Ruby 風のErlang 系のElixir でもやれば?
2020/08/02(日) 23:07:49.91ID:rl9xr/mh
ruby風なのか…やめとこ。糖質になりそう
439デフォルトの名無しさん
垢版 |
2020/08/03(月) 02:17:30.39ID:vcV5HPbv
某言語を習得して、SESで廃人になるよりはマシだけどな
440デフォルトの名無しさん
垢版 |
2020/08/03(月) 02:39:20.15ID:qNJQn/o1
30秒で始める動画編集(FFmpeg編)

input.webmの00:00:15から00:01:00までを切り取って
outputというファイル名で保存
ffmpeg -ss 00:00:15 -i "input.webm" -to 00:01:00 -c copy -copyts "output.webm"
1分30秒から最後までを切り取る
ffmpeg -ss 00:01:30 -i "input.mp3" -c copy "output.mp3"

PCの性能が低くても、切り取るだけなら数秒で終わるよ。
切り取る範囲が少しずれたくらいは気にしない。

FFmpeg > Seeking
https://trac.ffmpeg.org/wiki/Seeking
2020/08/03(月) 02:41:43.75ID:qNJQn/o1
>>92
2020/08/03(月) 15:39:16.97ID:FXA24wCs
C
2020/08/03(月) 16:59:51.62ID:/iJWOvYk
>>442
Cね、組込系にはいいよね。
444デフォルトの名無しさん
垢版 |
2020/08/03(月) 17:34:29.54ID:dvW9Hm83
>>424
マクロの記録で記録させてちょちょいと直せばいいだけなので、楽っすね!一番好きですよ!

って、センスのない入社3年目くらいのプログラマが言ってて失笑したわ。
それくらいいい加減な人でも使えるのがvba。でも、エンドユーザーに一番近いから、そこらへんのプログラマーよりは重宝されるねw
2020/08/03(月) 18:04:59.90ID:/iJWOvYk
>>444
ヤバい、入社3年どころの騒ぎじゃないw

今日はCの話が出たのでC推しで行ってみようかな?

Cの強みは何と言ってもアセンブラに次ぐ低級言語でありながらにして構造化言語であること。
つまりそれだけ痒いところに手が届く上にちゃんと構造化されてるってことかな。

ただ、ポインタはジャンプテーブルを使った高速化が図れたり、ポインタを参照するポインタなど
複雑な記述が出来たりするけれど、これが曲者で、変なところを参照すると変なものを読もうとしたり、
変なところに飛んだりメモリリークなどのバグの温床だったりもする。

初心者向きとは言い難い気もするけれど、それだけ痒いところに手が届く。

ちなみにC++は見ての通りCにプラスが二つ付いてるけど、C#の#はプラス4つが付いているって意味らしい。
446デフォルトの名無しさん
垢版 |
2020/08/03(月) 18:09:21.01ID:VfthWC1J
まあ素人はそうだろね。

プロはLinux一択だけど。
2020/08/03(月) 20:09:01.61ID:FXA24wCs
言語とちゃうやんけw

>>445
そう。アセンブラと高級言語のハイブリッドみたいなところがいいかなと。

シフトだの論理和・論理積だのポインタだの、こっから始めると他の言語に
行ったときに、「ああ、あれね」という応用が利きやすい形が普通に出てくる
かと。

関数へのポインタを配列にして渡すとか変態的な応用もあるしw
2020/08/03(月) 20:24:30.38ID:qdvto+rV
C井の次はC丼、
そのまた次はC冊
2020/08/04(火) 08:19:26.94ID:UutEPdUY
>>445
++を斜め上にしたという説もあるけど。
450デフォルトの名無しさん
垢版 |
2020/08/04(火) 10:39:20.26ID:vYzFyP25
半音上げ⤴上げ⤴
451デフォルトの名無しさん
垢版 |
2020/08/04(火) 10:58:56.58ID:vkOWxiHD
>>445
昔のwindowsは、C言語の中にアセンブラで書いたコードを入れたりできたよね。
2020/08/04(火) 11:28:02.18ID:cThhBYkV
C#が発表されたばかりの頃はシー・イゲタと読んでたな
453デフォルトの名無しさん
垢版 |
2020/08/04(火) 12:12:41.30ID:mujhBu6G
>>445
自分もCは悪い選択肢じゃ無いと思うけど、ポインタで挫折者が続出するってのもある。

あとは仕様の大きさとか。
8bitマイコンのアセンブラとかだと紙切れ一枚に全部載る。

もしくは数学の知識だけでプログラミング出来るHask(ry

>>451
特定のバージョンだけのバグみたいなものかと思ってたけど、完全に廃止の方向なのか。
お陰で64bitアセンブラの入門書買ったらCからアセンブラ呼ぶ為のHow-To本で、アセンブラでの変数宣言の仕方書いてなくて別途調べたぜよ。
ネットで調べても変数宣言の情報が英語しか無かったが。
454デフォルトの名無しさん
垢版 |
2020/08/04(火) 14:27:12.54ID:vkOWxiHD
>>453
いや、今廃止なのかは知らんよ。
2020/08/04(火) 15:13:06.49ID:AWtjcdQR
インラインアセンブラのことかな?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況