将来的にPGになりたいんだが、やっぱCから? [無断転載禁止]©2ch.net
でもC言語だけではきついだろ?あと何を学習すれば良いのだ? 開発環境って何使っていますか?
vsなんだが... とりあえずCからのjavaですね、でも数ある中なぜjavaなんだ?? なんかjavascriptってのあるんですけど!?なにこれぇ! ちなみにCはポインタまでなら...゚(゚´ω`゚)゚ >>7
初心者がハマる変な罠が少なくて一番安心安全だから
その逆に C は最悪 >>12 javaの学習環境って何用意すればいいのでしょうか?CはVSとかあるから出来るのですが ほとんどの人は目的があるからjavaとかphpとかを選ぶけど、僕は大雑把にPGになりたい、としかないからなーどの言語学べばいいのかわからんち emacs + scheme,vim + python,atom + node.js
atom + node.jsが旬 python, apache, mysal,django, ansible,trac, gitが入門には良いだろう 最初にapache, mysqlの設定を一通り片付けて、
ansibleで仮想環境を作って、その上でtracを動かすとこから
それから、gitのチュートリアルで概要を掴む
flask(それからdjango)をこなせば入門したって言えるんでない >>20
node.jsで拡張可能なエディタだけど >>13
Javaにも Eclipse という定番があるけど
VS をそれなりに扱えるレベルならそのまま C で行ってもいいかも知れない プログラム板の皆さん見てるとやっぱりかっこいいなー 基本はアセンブラで計算機の基本を肌で感じるってものだったが時代が違うよな
ヒープとかスタックとかポインタなどはそこから来ているんだけどな ノイマン型プロセッサの動作は知っておいたほうがいいな
ハーバードアーキテクチャとか
あと割り込みやI/O(メモリマップドとか)
最近はメモリバリアも気にする必要が出てきたな
高級言語を使うなら関数コール時のスタックの
使い方なんかも知っておいたほうがいい プログラミング自体を楽しみたいなら、
エディタで書くのはそこまで悪い選択ではないかもしれない 組み込みやりたいとかだとまたちょっと違うしなあ
まあCが極まってれば大抵何とかなるかもしれんが
たまに独自CPUでコンパイラがバギーとかいう地獄環境もある 最初はjavascriptがいいかも。
ブラウザあればすぐ動くし。
適当に画面表示できるようになったら
次はデータ扱いたいなからの→phpとかRubyに移行
次はオブジェクト指向も気になるし、静的言語とはなんぞや→javaとかC♯に移行
その次はもっとハードよりな低レイヤーなのが知りたいな→C、C++
機械語かふむ→COBOL
スマホアプリ作ってみるか→Objective-C、swift、javascript 宗教上の理由により生涯に一つしか覚えられないならC一択だ >>11
構造体、共用体や関数のポインタは?
ポインタのポインタとかは? VS, eclipseなんて重すぎて使う気しなかったけどな
emacs, vimしか使う気がしなくなったけど、atomは使っても良いかもしれない 業務系、Web系、組込みと、どの分野へ行くか先に決めろ
そして、Windowsは勉強用には本当に向いてない 何やろうと自由で勝手だが、
主流言語はC言語が基本だからね。
C言語を知っていると、
C++とObjective CはC言語の上位互換なのでC言語の知識が全て役に立つ。
PerlやPHPではC言語の関数が使えて、C言語風の構文「も」使える。(C言語と全く互換性のない記述もできる。)
Java、Javascript、C#なとでもC言語風の構文が使える。
SwiftでC言語の関数を呼び出すことができる。(標準機能ではないかもしれない。)
欠点としては他の多くの言語と同様に、C言語はグラフィックとかGUIを標準ではサポートしていない。
グラフィックは使えるが標準機能ではなく他のC言語コンパイラで同じものが使えるとは限らない。
グラフィック、GUIを言語として標準で持っていてどの環境でも同じように動くのはJavaしかない。
GUIもやりたいなら、言語を決めるだけでなく、開発環境とGUIライブラリを何にするか考える必要がある。
座標を指定できないテキスト出力だけのプログラムならC言語であればどの開発環境でもいいと思う。 1言語/1年でやっていけばいいんじゃないの。後は必要になれば身に着けていく感じで すまん。
Perlはprintfだけは使えるが他のC言語標準関数は使えない。
PHPなら結構たくさんC言語標準関数が使える。全部ではないが。 c言語って凄いんだなぁ…
プログラミング言語って何でこんなにいっぱいあるんでしょう?
1個に絞ってくれればそれだけ覚えればよくて楽なのに…?初心者考えだけど… >>51
> プログラミング言語って何でこんなにいっぱいあるんでしょう?
まだ進化の途中だから。
まずどのやり方が一番良い書き方かという答えが出ていない。
そもそも時代によって「一番良い書き方」という定義が変わっている。
昔はCPUが遅かったからアセンブラやC言語のような無駄のない言語が
速度実現の点から、一番良い書き方とされていたが、
今はCPUが速くなったため人間が楽になる書き方が一番良い書き方とされる。
例えば面倒なメモリ管理が必要なのはC言語ぐらいだ。その他の多くの言語ではGCが備わってる。
いったん作ってしまった言語は無理に変更すると互換性がなくなる。
そんなことするぐらいなら別の言語を作ったほうが良い。
将来はすべての言語の良い所を取り入れた言語に統一するかもしれないが、
果てしなく未来の話だろう。 統一する必要も無いでしょ
LLVMにおんぶにだっこが既定路線 >>53
おんぶだっこじゃないが、既定路線ではあるな。 お前に推薦されて読みたいと思う奴がいると思うか?
少しは客観的に物事を考えろよ cが基本だとか、なかなか初心者を潰したがる人たちが集まるスレですね
本当にプログラムを書いてるのかも怪しい OSや言語処理系みたいな低レイヤへ向かっているなら王道だけど、そんなことしたいのか?
簡単なゲームやGUIアプリならpythonの方が入門には向いているし、
OSや言語処理系を書くような人たちにしてもスクリプト言語は習得している c#は業務アプリとunityぐらいしか適応できない
最初の言語にしては利点がない。 国内でも書籍リリースラッシュでノリに乗ってるオッパイソンさんで良くね? 初心者ならほとんどの人がWindows使い。
もしもWindows使いなら、
C#とCやっておくのが一番勉強になる。
Cで仕組みを知り、
C#でオブジェクト指向を学ぶ。
もちろんCをやってからC#をやった方がいい。
理想はな。
しかしCからの独学は、
しばしば挫折する人が出る。
C#で何かを作る経験をしてからCをやった方が、
モチベーションは維持しやすく挫折しにくいと思われ。 Cはつまずくよきっと
独習ASP.NETから始めればいいよ 自分がC言語やったことないと、他人に勉強されると自分を否定されている気になるのかも知れないけど、
C言語を一番先にやるのはいいことだと思うよ。
多分、一番いいだろう。
別にC言語覚えたら、他の言語ができなくなるってことはないから。
C#じゃつぶしが効かないとも思う。
本人が最初から方向性を絞るつもりならいいが、C#やってない会社も多いからな。 C#だと入る会社によっては覚えたことの大部分が無駄になるけど
C言語は基本だからどんなPGの仕事に就くことになっても知識の大部分が有効に使える。 ポインタとオブジェクト指向は、学んでおいた方がいい。
別にJavaとCの組み合わせでもいい。
C#とCでもいい。
Cをやればオブジェクト指向がわかるかっていうと、
残念ながらCにはオブジェクト指向がない。
まずは勉強用と割りきるとして、
オブジェクト指向が一番わかりやすい形になっていて学びやすいのはC#。
次にJava。
C++は、初心者にはわかりにくいだろう。
すすめられない。
しかしやがては、C++も身に付けて欲しい。
得られるものは大きいから。
仕事で使う言語は、仕事してからでも間に合う。
基礎ができていれば、他の言語は1週間もあればある程度までできる。
一番最初の言語は、文法を覚えるだけでも個人差はあれど、
周りの新卒社員で3ヶ月以上かかっている。
筑波大学や千葉大学や静岡大学の新卒社員で。
ソルジャーとして役立つまで半年はかかる。
しかしその半年を頑張れると、
新しく言語を覚えることになったとしても、
1ヶ月ぐらいでソルジャーになれる。
最初の半年間の勉強はとても大切。 オブジェクト志向覚えるためにも飯食うためにもJAVAからが一番良さそうな気もするけどね 今からPG目指す人にc薦めない人がいることに驚くわ
やって損がないどころか一番マトモに育つだろ 損はないが足りない部分が多いんだよ。
C言語にないもの
・クラス
・GC
・例外
・テンプレート
・クロージャー >>76
それをプログラミング言語入門の段階ですぐ覚えろというのはちょっと違うと思うよ。
長年やっている俺もそんなの知らないし。
C++使っている人はC言語の書き方しかしてない人も多いんだよ。
C++使っている人は小難しい新しい機能をみんな使っていると思っているのかも知れないけどそんなことないから。 >>77
長年やっててこんなのも知らないって…悪いことは言わんから、黙って勉強しなさい まあプログラマーと一口に言っても色んな領域があるわけで、
最終的にどういうことまで視野に入れるかで何をやっといた方がいいかは変わるよなあ
ハードウェアに近いところを一切触るつもりはないというのならCいらん気もする
逆にそういうのに興味があるなら早めに分かっといた方がいいだろうな 制御系とかUNIXは今もC言語が主流だよ。
8ビットCPUとかだとC言語しかないよ。
C++使っているプログラムも、コメントのダブルスラッシュ(C++の拡張構文)だけを使って他は全部C言語の範囲内で書いたプログラムは多い。
LinuxカーネルもBSDもC言語で書かれている。
今でもC言語はUNIXの標準言語だからな。
C++がこれだけ普及しているのはC言語の上位互換だからだ。
アップルのObjective-CもC言語の上位互換。
C++の拡張機能を用いてもいいが必要もないのに無理して使うものではない。
一人で作るならどう書いてもいいが、
会社などの複数人で作るプロジェクトのコーディングルールがC言語の範囲内で書けとなっていると従うしかない。
無理に書き方を増やすとメンテしにくい汚いソースになるからな。
君らにC言語を勉強しろとは言わないが、C言語がこれからも主流なのは変わらないということだ。 >>81
逆にCでオブジェクト指向的なことをやろうとして構造体に関数ポインタ持たせるとかいうのもたまにあるなw プログラミング言語よりも制御対象を理解することのほうが重要だと思うけどなぁ
オブジェクト指向にしてもきっちりモデル化しないと糞クラス量産で最悪の状態に
>>76
釈迦に説法だが
それをCでやるのが面倒だからC++ができたわけで
Cでできないわけじゃない 初心者にCを勧める人間の8割は
自分の若いころがどうだったかを忘れた老害
残りの2割は
見込みのない人間を容赦なくふるい落とし即戦力だけを求める鬼畜 俺が最初に触った言語はN88BASICだったな
次にQuick BASICを覚えて、その後がCだった >>66
業務アプリを書くにしてもLAMPに相当する知識は必要なわけで、
c#からアプリを書きだしたような人たちが使い物になると思えないんだけど
pythonからなら、linuxやDB、サーバに関するノウハウを緩やかに学習できる >>77
PHPを初めて1週間以内に覚えるような内容だぞ >>73みたいな営業や上司の居る会社でだけは働きたくないわ >>88
Pythonからやってみようと思ってるんだけどオヌヌメの書籍とかある?
環境はMacBook AirでOS XなんだがLinuxでやったほうがいいのかな?
あとDBや鯖を緩やかに学習できると言ってるけどそれはWEB系のプログラミングをやればってこと?
出来ればいま流行りの機械学習やらAIに興味あるしそっち方面のライブラリがPythonでは充実してるらしいから、この方面から攻めてみようと思ってる Macを触ったことがないから分からないけどlinuxでやる方が楽だと思う
オススメできる書籍は『Code Reading―オープンソースから学ぶソフトウェア開発技法』
『ふつうのLinuxプログラミング』 著者, 青木峰郎
ぐらいしかない。(システムプログラミングのためのcのコードは書かなくて良い)
後はもう入門用のチュートリアルと公式のドキュメントやStackOverflowしかない
ttp://www.diveintopython.net/
ttps://wiki.python.org/moin/BeginnersGuide/NonProgrammers cvsやsubversionの解説があったりツールの類は古くなってる
最近の入門書は知らないけど、ソフトウェア開発を志す人たちが入門時点で学ぶべきことは変わってないと思う
SICP、銀河ヒッチハイク、『いかにして問題を解くか』辺りを平均的な人たちが読んでいる >>91
Macなら標準でPython入ってるからそのまま始められる ただしPython2系で古いのでそのまま使うのはおすすめできない プログラミング始めて1年の中3なんだが、まだcはした事はない
頑張ってjava、c#は結構やり込んだが、javaから始めたからかc++のヘッダーファイルとかプロトタイプ宣言とかが面倒で投げた
後はソフト用HPの為にHTMLとcss覚えて、WEBアプリの為にPHP、jsもしたかな
今メインにc#使っているが、言語を覚えるなんてスタート地点だ
その後にはフレームワークの使い方を覚えて、アルゴリズムを考える。こっち大変だぞ
そして動的言語は無駄なエラーに悩まされてクソウザいからやめておけ もう進路は決まってるのかな、さすがに。
若いのになかなかすごいね。考え方は間違ってないと思うよ。
今や言語自体にあんまり意味はない。スタート地点とかそういう問題ですらなく、
用途に応じてペンを変えるようなもの。
とはいえネイティブコードの開発は少々敷居が高くなりつつあるけど。
自分も最近は .NET フレームワークでの開発ばっかりなんで、たまに遊びでネイティブコード書くと
メモリリークしまくりだわ。 >>97
知合いの中学生はlinux kernelのコミッタをして、
ocamlで分散型のOS開発に取り組んでいたよ