ぶっちゃけ始めるのにいい言語て何?
レス数が900を超えています。1000を超えると表示できなくなるよ。
この板クソジジイばっかだから言いなりになってると時代から取り残されるぞ
GASならまだしもVBAなんて勉強しても古臭いカビが生えた場所でしか活躍できんぞ >>831
必要のない限り他の言語に移ることはないはずだが?
麻薬とか求めるとか書いているけどプログラムでできることが少なくて行き詰っているだけじゃないの 低レベルから上位レベルまで一通りやったら
あとは必要に応じて >>840
簡単なものはperl -eの後ろに書いて終わり
ちょっと複雑なものはそれをテキストに落として広げる
性能を求められたときはC++でがっつり書く
他の言語も知ってるけどいろいろ面倒で滅多に使わない
ってなりそう >>837
Excelがあれば太平洋戦争に勝てたかもしれないな。
敵もExcel使うから無理か。 Excelに標準搭載するとしたらどの言語が良いだろう。 >>836
すでにVBAとC#ができてるなら>>833みたいな質問はしないと思うが、もしかして入門書とかで上っ面だけ撫でて、次々と新しい言語に手を出してない?
初めからC++が目的で入り口として他の言語で概要を掴みたかったのならそれでもいいけど、そうでないなら一つの言語をもっと深く身に付けてから必要に応じて他の言語に手を出した方がいいぞ。 Ruby なら、テキスト処理・ファイル操作・サーバーサイドなど、すべて出来る。
おまけに可読性が高い
他の言語は、可読性が低いから、他人の書いたコードを修正できないから、
すべて書き直した方が、マシ Pythonなら、テキスト処理・ファイル操作・サーバーサイドなど、Rubyができること、すべて出来る。
おまけに可読性が高い。スクレイピングも得意。データ分析に最適。機械学習の波に乗ってる。世界中でJSに次ぐ人気。教育業界のファーストチョイスになりつつある。
RubyやるくらいならPythonやれ。 できる・できないで言えばどの言語でもたいていのことは出来るやろ
データ分析・自然言語処理(NLP)・機械学習が目的ならPythonがいいが
ファイル操作やスクレイピングはPythonに比べるとRubyのほうが断然簡単
例えばスクレイピングなら
PythonにはSafe Navigation Operatorが(まだ)ないので
要素がない場合に備えて常にif-elseで分岐が必要だったり
Capybaraのように便利なライブラリがないのでブラウザを操作する場合は
Seleniumを使って面倒くさい待ち条件を状況に応じて頻繁に書く必要があったりする
ものすごく単純な用途じゃなければ楽さ加減に結構な差がある
といっても初心者には分からないだろうから明確な目的がないなら
1週間ずつくらい各言語を試して自分が気に入ったやつからやるのが吉 >>845
おっしゃる通りでございます。
初めからC++が目的(CADのオート化)だったのですが
2001年頃からのWebアプリブームでPHPから始めたものの
車内はもっぱらエクセルだったのですよ
ゲームに魅せられてC#に手を出してしまった結末ですお恥ずかしいorz 車載マイコンイジってんのか。
事故に気をつけろよ? よく見かけるんだけど、自分でやってみて合った言語やれってアドバイスほど無意味なものはないよな。
それを分かった上で、みんな議論してるんでしょ?
こういう話するのが好きなだけなんだから やってみないと合ってるかどうかわからない
やらしてくれ
振られる
いまここ >>852
プログラムでやりたいことどころか各々の環境すら出さないんだから最初から雑談スレでしかない
前提条件が不明のままできる議論なんか無いので >>852
python勧めたけど>>848に反論できなくて悔しかったんですねww そもそも普通の人はプログラミングなんてやらなくていい
プログラミングで出来ることなんてほとんど既にツール化されてる >>857
やらなくちゃならない前提だったのかいw
趣味でやっているからその発想は無かった >>839
行き詰まってるか...なるほど。
こんな国で何やってもムダという意味なら確かに否定は出来ないな
人事評価は基本減点法だからイノベーション起こしても給料上がることは期待出来ないし、
例えばWeb検索エンジンで精度が良いもの作っても質の違いが分かる人なんてそうそういない国だもんな
日本は終わってると思うよホント
それでもこれだけは忘れてはいけない...
俺たちエンジニアには未来を創る責務があるということを。 >>860
それ働いてる場所の問題じゃないの
技術をちゃんと評価してくれる会社に行けばいい 数年で入れ替わり立ち代る多重派遣に改善の文字は無いのです
奴隷がいくら頑張っても変わらないどころか
生産性を上げてしまうと自らが損をしてしまうのです 生産性が高いと、人月が減って、売上が減るから、SIer が嫌うw
だから、Ruby なんかは皆、自社サービス系。
高品質・低開発コストを求めるのは、自社開発の場合だけだから 2月の時点でさっさとオリンピック諦めて直ちに鎖国した方が良いって
人工知能ωが結論出してたとして誰も従わない國だから仕方ない >>852
最終的にやりたい事や目的が分からない状態なんだからしょうがないだろ
何やりたいか分からん奴には無難で幅広く使える言語を勧めるしかない >>865
始めるのにいい言語のスレなんだから最終的じゃなく最初にやりたいことじゃね
横レスなんだけど特定の条件下で勧めるわけじゃないから幅広くはまだわかる
「この言語はいい」とか「有名な人が使っている」とか「これが簡単」とか基準のわからない紹介は参考にならない
「自分に合ってた」なら何をやろうとしてどんな環境で合ってたのかまで紹介してもらえば役に立つはず qiitaで今年500件以上ストックされた
Pythonタグが付いている記事
https://qiita.com/search?sort=&q=created%3A%3E2020-01-01+stocks%3A%3E500+tag%3Apython 言語の違いが全然分かりません
C
C++
JAVA
Ruby
Python
PHP
Perl
COBOl
こういう言語の用途って明確に区別されてるのですか?
それとも、大抵は同じような成果物が作れるのですか? >>868
明確な用途が区別されているわけではないけど、得手不得手があるからある程度は向いている用途とかはある。 >>868
ざっくりと特徴
C :ハードウェアに近いので速いけどほぼ自作
C++ :プログラム部品再利用へオブジェクト指向
JAVA :OSに依存しないマルチプラットフォーム
Ruby (7月石):Webアプリ用スクリプト文書抽出報告特化Perl(Presentation Extraction Report language)6月石の次世代型
Python :UNIX系コマンドスクリプト追加拡張性言語
PHP :元々Webで見てもらう為の個人ポートフォリオ作成用 Personal Home Pageツールキット
Perl
COBOl :アメリカのビジネス事務作業用手続き型言語 用途で言えば
小規模組み込みはC, C++, アセンブラしか選択肢がない
C++も機能限定だったりする
(例えばnewが使えないとか)
他の高級言語はどれもリッチな実行環境が必要 std::aligned_storageが非推奨に。 YouTube で有名な、雑食系エンジニア・KENTA が、
最初はRuby って言ってるから
10言語ぐらい知ってる香具師は、Rubyを勧めるはず。
膨大なOS・システム関連の知識を、自然に学べるのがRubyだから
Linux・コマンド・シェルスクリプト・PowerShell も、Rubyで学べる
VSCode, HTML, CSS/SASS, JavaScript, Node.js, Webpack、
MVC、データベース・SQL も、Rails で学べる
言語の文法なんて、システム構築運用の1割にも満たない。
文法をやっても、システムを作れない。
これが初心者には、分からない
文法をやっても無駄。
ある言語を通して、Linux・システムを学ばないとダメ
システムを知らない、土方プログラマーじゃなくて、
システムを知っている、SE が必要 プログラミング言語はコンピュータの概念に数学の概念を取り入れて進化して行ったんだから、
目指すべきは、より数学に近いHaskellが目指す様な方向だと思う。
覚えるコンピュータの概念が少なく、慣れ親しんだ数学の概念に少し追加で覚えれば良いだけ。
あと、手続き型言語(普通の言語)より、関数型言語の方がマルチコア使った並列処理は得意。
(最近、並列Haskell読みはじめた)
1から1千万までの合計を普通に出すのと並列で計算して出すのと比べたり、楽しい。
(シングルだと7秒。2コア並列だと3.8秒くらいだった) >>874
最近読み始めたばかりの本の受け売りで、プログラミング言語の目指す方向だなんて大層なことを語るなよ。 関数型の並列処理なら、Ruby から、Elixir へ行く
Elixirの小プロセスは、10万でも起動できる >>877
それ+>>771参考が良いね
1990年までは数値計算系でFortran
1990年〜2000はデスクトップ系でC 全盛期
2000年以降はWebアプリ系主流でJava、JavaScript、
2018年からは機械学習ブームでPython >>870
>JAVA :OSに依存しないマルチプラットフォーム
+保守的な文法で Object-Oriented の事実上の標準、Java で書けない OO 要素は結局受け入れられない >>875
Haskellそのものは前から趣味で触ってた。
マルチスレッドもJavaとかで触ってはいる。
Haskellは遅延評価が故にマルチスレッドに(関数型言語としては)向かない方だけど、
遅延評価が故にチャンクと言う単位で処理の粒度を分けられる。
例えば、その数字が素数か判定する関数をリストなり配列なりに適用するとする。
この関数は大きな数字になる程、処理が重くなるので均等に振り分けるとか無理。
そこでチャンク単位で分割しておけば、早く終わったコアは次のチャンクを処理すると言う風に
ある程度の均等化が出来る・・・みたい。
Javaとかだと、チャンク相当の粒度に分けるのは手動だったけど、Haskellは何個のチャンクに分けるって指定するだけだから、
楽だなぁ・・・と。 ぶっちゃけ何の言語でもいいから書き出して初めてスタートラインで何がいいかって迷っているような人は永遠にできないな
目的によりあっている言語とかその後でも探せるし、仕事でやっている人は複数の言語使えて当たり前だろ? 複数使えるのは当たり前
その通り
複数使える立場でどれから始めたら一番効率が良かっただろうかと
最適化を試みるのは良いんじゃね コンピュータの歴史に沿って映画やドラマ制作的分類してみた
Level1(小物類アクセ)、趣味、複雑計算、雑処理スクリプト、RPA、各種言語
Level2(俳優キャスト)、デスクトップクライアントアプリ、C言語
Level3(大道具さんら)、Webサイト構築サーバーサイド、Java、JavaScript、 PHP
Level4(マネージャーや監督クラス)、C/S両方使用するゲームアプリ、スマホアプリ、各種フレームワーク
Level5(専門技術スタッフ)、AI機械学習、BIGデータ、VR >>886
メチャクチャすぎて何を言いたいのかまったく分からない >>887
学習ジャンルとかコストレベルかな
1,VBA
2,C系言語
3.Web系
4.ゲーム系
5.機械学習 切り口もレベル分けもバラバラで雑多なものが転がってるだけに見える。 >>888
歴史的にはFortranからの数値計算系だからそうかもしれない ぶっちゃけ始めるなら
最初の一歩を踏み出す分野って事だよ
初心者の初期値次第による >>894
初心者の初期値って何? その初心者がすでに持ってるスキルや背景?それともその人の初期段階での希望する分野ということ?
いずれにせよ>>886のコンピュータの歴史を持ち出したり映画製作に例えるのは意味不明で無意味だし、>>889の分類もワケわからない。 >>895
オブジェクトは状態と振る舞いを持った者です
ぶっちゃけ始めるならインスタンス時のコンストラクターによります バッチファイルやシェルスクリプトでちょっとした自動化やExcelVBA やVB Scriptで煩雑処理する程度ならレベル1
デスクトップパソコンでの各種ツールやメディアプレーヤーやら編集ソフトやらを作りたいならレベル2
ブラウザでアクセスしてチャットや掲示板や動画写真データベースを見たりなんかするのが作りたいなら覚える事が山ほどあるレベル3
PCやタブレットやスマホのゲームを作るとなるとクライアント画面生成とネットワーク通信と両方の知識及びゲームメソッドやアルゴリズム等の数学やアニメーションなど多岐に渡るのでレベル4
人工知能AIや機械学習、VRには高度な数学知識の微分・積分方程式、行列、線形代数、幾何学、ベクトル、ソート、フィルター、音声処理と画像処理が必要で最低でも理系大学クラスの教養必須なのでレベル5 >>898
お前がロクに知識も経験も無いのはわかった 大卒ならレベル1〜4は当然出来るだろうから
レベル1〜4を飛ばしてレベル5からやっても良いよ 有名大卒だろうが適性ないやつならレベル1で辞めるぞ
それがプログラミング >>884
最適化された経験を具体的に語っているレスなんかあるのか?
いかにもプログラム覚えたての人間が自分が知っている言語を語っているのが大半じゃね
プログラムし始めたら言語よりもその他の知識がより多く必要になってくるのすらわかっていないレスが多いように見える 一般的なプログラマーは自分が辿った過程から離れて
プログラミング初心者に適した言語が備えてるべき特徴が何なのか
しっかり考えたことなんてないからしょうがない
それにどの言語を最初に学ぶかよりも
どういうふうにプログラミングを学ぶかのほうが圧倒的に重要で
その学び方の中でも優秀な師匠を見つけることが出来るかどうかが一番重要
つまり、5chに頼ってる時点でものになる見込みはほぼない
このスレはお題を与えられたプログラマー達が雑談するところ たくさんソースを読むのが一番勉強になる
英語の勉強と同じ
英単語とか英文法の勉強しまくるより長文の問題をたくさん解いた方が実力付く
コードを描くのは英作文と考えればいい。たくさん長文を読んだ人なら簡単に感じるだろう >>905
良いソースじゃないとダメ
初心者は良いソース悪いソースの区別がつかない 質が高くて実用的なコードは実際にどこかに勤務してみないと中々出会えないよ
Githubにあるようなコードは勉強になるけど血が通ってない >>905
英語の勉強と同じというところは同意するが
英語も基礎が出来てない人が長文たくさん読んでも実力つかない
それに読む・聞くという受信に使う脳を鍛えるだけで
書く・話すという発信に使う脳を鍛えないと
実践で使える力はつかないのは英語もプログラミングも同じ
英作文が出来るようになりたいなら
たくさん読むよりたくさん書くほうが100倍効率いいよ 言語なんてマスターする必要は一切無い。
細かい仕様をきちんとマスターする必要があるのは教える立場の人、ノーガキ垂れる仕事の人、暇人、くらい。 サンプルコードをコピペしたけど
動きませ〜んとかよくある
言語より環境のほうが遥かにむずい >>914
そんなこと言ってるからIT後進国になるんだよ JAVAおじさんのコードは細かいミスが多い印象
大文字小文字なんてどうでもいいだろって思想がコードにも反映されてる >>913
プログラミング初心者の半分以上がPathを通す部分で挫折してると思うんだ
逆にここをすんなり理解してこなせるor楽しみながら試行錯誤する人はその後も上手くやっていける スクラッチは言語じゃないじゃん。ガワ剥いだら単なるJavaScriptじゃん。 言語でもメタ言語でもその逆でも何でも良いけどさ
いわゆる Scratch 的な Visual Programing は保守が大変よ
Visual Studio とかどこが Visual やねんて思う >>925
scratchは入門用としては良くできた言語だと思うぞ。
メンテが大変になるほど長く使う複雑なシステムを作るもためものではないからメンテナンス性は気にしなくていいだろう。 >>925
Auto CAD とかどこが Auto やねんてとは思う >>920
それならその設定しなくていいWindows+VisualStudioでその半数が救われるな
なんでPath通すくらいでそんな苦労する人が多いのかわからないけど
>>925
VC#のデザイナ見てVisual に見えないのならしょうがないな visual studioよりScratchの方がビジュアルなコーディングスタイルだと思うけど
RPGツクールやマインクラフトの様なツール的でレゴブロック遊びな感じする
極めればレゴブロックでスカイツリーも作れるのかもしれないけどなんかな〜 >>925
VSができた当時はあれでも十分にVisualだったんよ >>929
MS「真のビジュアルプログラミング・マインクラフト、教材用として絶賛販売中!」 Haskellによる並列・並行プログラミング読み進む内に、普通のシングルスレッドプログラムを簡単にマルチスレッドにする方法が書いてあった。
import Control.Parallel.Sterategies
main = (print.f) [9999800..1000000]
f xs = map g xs `using` parList rseq
g n = sum [1..n]
上の通り、シングルスレッドプログラムに
import~と、`using`~を追加するだけ。
コンパイルと実行の時にもコマンド引数が必要で、コンパイルの時、
>ghc -O2 filename.hs -threaded
と言うふうに速さ重視の最適化とスレッド対応を明記。
実行時にはスレッド数をNnの形で指定する。(ここでは2スレッドを指定)
./filename +RTS -N2
普通のプログラミング言語だと、シングルスレッドとマルチスレッドでは似ても似付かないコードになるから、これには感動した。
(2スレッドと4スレッドでもコードが違う事がまま有る中、これは本当に感動)
Haskellマジお勧め。 それはHaskell関係なくて
そういうふうに工夫されたライブラリがあるってだけ でも、標準では付いてないよね?
C#でもparallelSumとかC++でもマクロっぽいので指定すれば通常のコードがマルチスレッドになるとか有ったけど、
parallelSumは普通のsumと使い勝手全然違うし、マクロっぽいのも外部ライブラリだし。
そもそもが変数書き換える普通のプログラミング言語は並列処理に向かない。 >>934
C#ならParallel LINQ(PLINQ)やParallel.Forが標準で使えるよ >>932
並列処理がキレイに書けて喜んでいるのはわかるけど、このスレでお勧めする理由はそれだけ? プログラミングをこれから始めようとする人にはまったくメリットは無いんでないの?
そういうことよりは、実用的な動くプログラムが作りやすい、詰まったときに解決できる情報が手に入りやすいなど、優先すべきことはたくさんあると思う。Haskellには他の言語にない高度な特徴があるが、それは他の言語を知らない人にとってどれ程の価値があるというのだろうか。
理論的にウツクシイのは良いけど、そういうのはある程度実用的なプログラミングに慣れた人が次に毛色の違うものとして始めたり、初めから学術的な方面の興味を持つ人が手にすればいいもので、何も知らない一般的なプログラミング初心者に勧めるようなものではないと思う。 Haskellは覚えることが少ないので、入門にも十分に使えると思う レス数が900を超えています。1000を超えると表示できなくなるよ。