トップページ⇒tech
270コメント72KB

結局言語って何がいいの?

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
一般的なフリーソフトくらいのもので、そこそこ速くて簡単
なものとして、VB、DELPHIを考えているんだけど
結局何を覚えれば長い間使っていけるんでしょう?
使用感、両方使ったことあるひと、そのほかお勧めの言語
があればおしえてください _(_ _)_ペコリ
0153デフォルトの名無しさんNGNG
>>152
禿同

というわけで↓に大嘘書くなゴルァ!! って抗議しておきなよ(藁
http://www.ruby-lang.org/ja/20020101.html
0154デフォルトの名無しさんNGNG
>>150 の云う、「今の言語」ってやつを教えてくれ。
0155デフォルトの名無しさんNGNG
アセンブラ最高
0156もうすぐ四十NGNG
ttp://hp.vector.co.jp/authors/VA008683/

やっぱベーシックだな。

ベーシックは永遠に不滅です。
0157名無し~3.EXENGNG
仕事に使えるのは Perl だな。Java 使えって言う香しい経営者がいて困るよ。
0158デフォルトの名無しさんNGNG
漏れ昨日からプログラムの勉強はじめたんです。
本当に本当の出だしからで、まだなんにもできないけど…(計算問題みたいなの
ばかりやってます);
たとえ写しでも自分で書いたプログラムがコンパイル通って思っていたような
動きをしたときはすごく気持ちいいですね。
今はやっと紙と鉛筆の存在に気づいたような段階ですが、こんな僕が
勉強していくにはどんな言語がいいのでしょうか?
ちなみに今は「C」を使っています。
0159デフォルトの名無しさんNGNG
>>157
0160デフォルトの名無しさんNGNG
>>158
ソフトが動く仕組みとしてのプログラミングそのものを楽しめるのは幸せだね〜
そのままCとアルゴリズムとデータ構造お勉強するのは十分あり。

ただ何か問題解決の手段として実用的なプログラムを書こうと思ったら
Cはとてもとても効率が悪いよ。目的にあった別の言語を探した方がいいかも。
0161デフォルトの名無しさんNGNG
つーか目的云々語る以前にCはやっとくべき。
古典数学みたいなもの。
実際ム板でもCのコードは公用語みたいに使われている。
0162デフォルトの名無しさんNGNG
どっちかっていうとバキュームカーの運転手みたいなもんだろ
その存在を完全に抹殺されるととても困るが万人が進んでその職に就く必要はないしそういうのは糞好きにまかしときゃいいんだよ。と
0163デフォルトの名無しさんNGNG
>>162
誤爆?
何のこと?
0164デフォルトの名無しさんNGNG
#include <stdio.h>

int main(int argc, char* argv[])
{
printf("hello, world\n");

return 0;
}
このときの感動がいまだに忘れられません…
でも実用的じゃない罠w
0165デフォルトの名無しさんNGNG
漏れそんな複雑なhello,world書いたことねぇえええええ!!!
0166デフォルトの名無しさんNGNG
>>165
どんなんかみして
main(){printf("HW\n");}
0167デフォルトの名無しさんNGNG
>>165
まあ,引数はvoidでいいからな
0168デフォルトの名無しさんNGNG
>>156
それ自体はDelphiなのな(はげわら
0169158NGNG
速レス感謝します。
>>160さん
すいません、無知なもので「アルゴリズム」と聞いても
最初はピンときませんでした。調べてみたらおもしろそうですね。
コンピュータに算法を教える、ということですか(意味をとり違えているかも
とはおもいますが…)
Cに慣れてきたらもっと深く勉強してみようと思います(^^

>>161さん
何かの本にも書いてありました。「Cはプログラムの仕組みを
学ぶのに向いている」「言語の違いは方言のようなものなので、
実現できることに大差はない」「ひとつの言語をマスターすれば
他の言語も習得しやすい」と。どこまで本当かはわかりませんがw
足し算のできない人間に九九を理解するのは困難だ、ということでしょうか。
いまはCで簡単なゲームを作れるようになりたいです。
そこからがPGとして大変なのだとおもいますが…

>>164さん
僕が最初に書いたのもそれと同じ文法でした。
166さんのように「main()」で十分なのですね。
0170デフォルトの名無しさんNGNG
>>169
> すいません、無知なもので「アルゴリズム」と聞いても
> 最初はピンときませんでした。調べてみたらおもしろそうですね。
> コンピュータに算法を教える、ということですか(意味をとり違えているかも
> とはおもいますが…)
アルゴリズムとは,どうやって問題を解くか,その手順,方法,算法.
あまり言語には依存しない普遍的なもの.
アルゴリズムが悪いと,どんなに高速なマシン,高速な言語を使っても無駄になる.

> 僕が最初に書いたのもそれと同じ文法でした。
> 166さんのように「main()」で十分なのですね。
main() と main(void) はCでは違うよ.
main関数の引数で許されているのは main(void) と main(int, char **) のみ.
0171デフォルトの名無しさんNGNG
>>166
MsgBox("Hello World!")
0172デフォルトの名無しさんNGNG
うインテルなら TASMを越える庶路畏敬はない。
0173デフォルトの名無しさんNGNG
>>170
俺、main(void)と書くの、嫌い。
startupはmain関数にパラメータは渡しているんだ。
それをmainが勝手に無視してるだけだから、
main()という風に空カッコで書く。
戻り値は返さなきゃならないから、結局
int main() だ。
0174デフォルトの名無しさんNGNG
>>107
あのな、まずC言語で苦労するんだよ。
そしてC++をやろうとするが、なんか使いにくい。
そこでJavaだ。そこでJavaをきわめて、
C言語のポインタの代わりともいえる参照型なるオブジェクトの挙動を理解する。
C言語でポインタを理解していないとJavaを使ってもここでつまずく。
というか、躓いているのに気づかずに、clone()メソッドを実装せずに
=で参照のみを代入するだけで済ましてひどい目にあうおばかさんがいるのだ。

それを徹底的に理解したらJavaよりも危険なことができてしまう濃いC++をやるのだ。

>>120
大学でやらされた。スイッチカチカチやりながらのハンドアセンブルも
レジスタにいちいち記憶を繰り返すコードを書くアセンブラももう二度とやりたくねえ。
オブジェクト指向を極めるとあんなもん二度とやりたくねえ。

>>156
java.lang.BigIntegerやjava.lang.BigDecimalがあればほとんどいらん機能だ罠。

>>157
Jakarta OROが出た以上、perlを使う意味はほとんど無くなった。
0175デフォルトの名無しさんNGNG
>>170
C言語ではエラー処理をintで返すようにしろ!っていうけど
他の言語ではできるだけtry・・・catch構文使うようにしたほうがいいよ
returnはエラー処理のためだけに使うものではない
0176デフォルトの名無しさんNGNG
いや、常にtry-catchステートメントではなく、
throw new 厨房が進入してきたぞException("厨房警報!!");

をif文の中にかく手法も使ってしまえよ、と。
0177175NGNG
>>176
同意。うちの大学の教授はC言語しかできないDQNが多いから
返り値voidは使うなってあほなこと教えています。全部intにしろだって
で、みんなそれ信じるから正直うざい
0178デフォルトの名無しさんNGNG
ANSIになる前のCが一番だろ。
0179デフォルトの名無しさんNGNG
>>177
なんと恐ろしい教授だ
0180デフォルトの名無しさんNGNG
>>179
80年代のプログラミングスタイルで止まってるんだよ。頭ン中。
教授なんてのは実戦を六に経験してない理屈だけのジジイ。
0181デフォルトの名無しさんNGNG
>>180
止まってるというよりそもそも読みやすく保守しやすいとか関係ないし。
とにかく覚える量を最低限に抑えて目的が達せられればそれでいいんだろ。
そういえば
#define BEGIN {
#define END }
発明したのも大学教授じゃなかったっけ?
0182デフォルトの名無しさんNGNG
考えたんだが
その昔、コンピュータはとてつもなく高価なものであった。プログラミング言語はコンピューターメーカーが用意した。
ところが、ソフトウエア科学とかコンピュータ科学とかいう学問が出てくると
プログラミング言語とオペレーティングシステムとが卵と鶏になった。
システム記述言語とか称して、自分自身を含めたオペレーティングシステムを記述する言語が突如流行った。PASCALがあっという間に石鹸した。
所詮中間言語方式のパスカルでは効率が悪く実意用的でないということでC言語がプログラミング言語の代表として君臨を始めた。

この後継はまぎれもなくGccであり、LinuxやBSD系のOSである。
ところでこれらはいずれも仮想記憶、フローティング演算巨大システムになっている。

ソフトウエアの進化はハードウエアの進化を前提とするしかないのであろうか?というのが、今回のテーマである。
進化したソフトは昔のハードをすくえるか?といえば判りやすいだろう。

夏休みに一気にヘンドリックスというオッサンが書き下ろしたsmall-Cを覚えているか?

今こそあれを復活させ(なんせANSI-Cになる前の話だから)整数型のBSDをでっちあげ、
旧来のハードウエアや、組み込みPCに活用し、家庭内乱に組み込もうではないか?
0183デフォルトの名無しさんNGNG
沢村は名無しに戻ったのか。
でも結局、誰にも相手にされてないという点では、
同じ事なのかもしれない。
0184デフォルトの名無しさんNGNG
>>182
そんな昔まで巻き戻る必要はないけど
Windows95世代のpoorな環境でもさくさく動く
Linuxディストリビューション作ったら結構儲かりそうだね

0185デフォルトの名無しさんNGNG
>>178
え、うそ。関数のプロトタイプ宣言だけでもずいぶん助かってるのに。
0186デフォルトの名無しさんNGNG
>>182
めまいのする文章をありがとう
0187 NGNG
>182
古い技術を新しく焼きなおさないのは、単に必要がないからでは。
0188デフォルトの名無しさんNGNG
焼き直しではなくて、再利用さ。
情報家電なんていって大手企業の利権マミレの家電品が我々の生活に
入り込みプライバシーを侵害しに来ることが見えてきた。

どのような番組をみて、その翌日に何を買ってきて、どのような番組を見ながら
何を喰ったかなんて情報が抜かれることになるんだぞ。
0189デフォルトの名無しさんNGNG
つまらない妄想はお一人で
0190デフォルトの名無しさんNGNG
ANSIになる前のFORTRANが一番だろ。
0191デフォルトの名無しさんNGNG
>>188
情報家電は作るのが簡単だから中国とか安いメーカーの独壇場になりそうだよ。
中国製HDDレコーダー4万だって
0192デフォルトの名無しさんNGNG
>>182
> ソフトウエアの進化はハードウエアの進化を前提とするしかないのであろうか?というのが、今回のテーマである。
> 進化したソフトは昔のハードをすくえるか?といえば判りやすいだろう。
仮想記憶とプリエンプティブ・マルチタスクは今でもハードウェアの助けがないと大変だと思うが…
0193デフォルトの名無しさんNGNG
ソフトの進化に比例して速いハードが必要
182=沢村
おまえもう死んでいいよ
0194デフォルトの名無しさんNGNG
むしろ今はハードウェアの進化にソフトウェアがついていっていない。
3GHzのCPU積んでるPCでも10万で買えてしまうのだから
ハードウェアをいかに使いたおすかを考えるべき
0195デフォルトの名無しさんNGNG
>>194
CPUの進化は速いがメモリの進化は遅い
0196デフォルトの名無しさんNGNG
>>194
そんなあなたにはJavaと3Dがぴったり
0197デフォルトの名無しさんNGNG
>>194
乱数使ってリアルタイムで衝突計算とかやりますか
髪の毛とか
0198デフォルトの名無しさんNGNG
最新の洋ゲーは最新のハードでも処理落ちするらしい
0199デフォルトの名無しさんNGNG
Morrowindでも処理落ちつらい。

M$がLonghorn出すだろうからもっとはいスペックにしないといかんことは
周知? M$とIntelやグラフィックボードメーカーがつるんでいるような
機がするのだが。
0200デフォルトの名無しさんNGNG
昔、Justsystemが「こんなスペックのコンピュータ存在するわけねえよ!」って
いうくらい重い一太郎5を出したときを思い出したよ。あの当時、EMSとXMSメモリ
を4MBだか積むことが推奨されていたっけ。

あとは「A列車で逝こう」なんだが... 若いものには解らないので(略
0201デフォルトの名無しさんNGNG
昔から疑問に思っていたことだけど、
「A列車」のAって何?
0202デフォルトの名無しさんNGNG
一つ
0203デフォルトの名無しさんNGNG
Take The A Train, by Billy Strayhorn
Duke Ellington Big Bandの大ヒット曲。。。
0204デフォルトの名無しさんNGNG
黒人奴隷がのってにげたんだってさ
0205デフォルトの名無しさんNGNG
少女AとかのAなの?
ここでいうAは中森明菜なんだけどさ
0206デフォルトの名無しさんNGNG
ミポリンのトキメキ列車ディナーショーに行こう
0207デフォルトの名無しさんNGNG
失敬。
中山美穂と勘違いした。
0208デフォルトの名無しさんNGNG
でるふぁい最強。
0209デフォルトの名無しさんNGNG
>>201
サクセスストーリー
http://www.din.or.jp/~delsol/a2001/1000.html

>>204
逆でした。
0210デフォルトの名無しさんNGNG
>>200
> あとは「A列車で逝こう」なんだが... 若いものには解らないので(略
A列車で逝こう4をはじめてやったのはおれが高校の頃。
それくらいだったらそんなにふけていなくても知ってるだろ。
>>203のA列車を知ってるのは若いのには少ないそうだが。
。
M$-DOS版、PC9821 33MHz, 4MBでは確かにつらかったね。
あとから486 100MHzにオーバードライブしたて
少しは快適になったね。
けど、Windows版A4では100MHzでもA4のマップを切り替えるだけで
30分はかかったな。
あとからメモリを32MBにしてからは10分くらいに縮まった。
しかしPentimu Pro 166MHz,では全然快適だった。
そのころにはA5が出て専用ビデオカード使って思い思いいう知人が現れていたね。
あの時代にクライアントでJavaを使うことはまず考えられなかったね。

0211194NGNG
>>210
俺もPC98の時代からパソコン触ってるけど
ソフトってあんまし進化してないんだよな・・・
windowsですっげー重く便利になったけどいまのPCだと
3万のパソコンとかでもOfficeがさくさく動くもんな
ここいらへんですっげーリソース食うけど
めちゃくちゃに生産性がある言語とか開発環境が出てきてほしい(と思う。)
0212デフォルトの名無しさんNGNG
>>211
でもさぁ。でもさぁ。
めちゃくちゃに生産性があがる言語とか開発環境が出てきたらぷもぐらまの価値落ちちゃうよね。
しかも、改善の余地がないほどの完成された開発環境って作業しててだるそう。
0213デフォルトの名無しさんNGNG
たぶん より階層化されてくるのでしょう。
下層は触らせない方向に
上位層は多段に。

ある業務があると、その業務のプログラムを作る=業務のプログラムを作るプログラムを作る
というように上位層が階層化され、2度目からはプログラミングではなく、
そのカスタマイズの範疇で出来るようになるのでしょう

0214デフォルトの名無しさんNGNG
>>213
アホ?
0215213NGNG
え? 言ってる事判らない?

たとえば、業務A用に作ったソフトを、お客さんがVBのようにポトペタでペタペタすればカスタマイズ完了。
となるようなソフトをプログラマが簡単に作れるような言語+環境に進化してくでしょうね。 

これでどうだ?
0216デフォルトの名無しさんNGNG
C99が最強
C90(C89)が次点
0217デフォルトの名無しさんNGNG
>>216
C99でも最強とは言い難い部分があるんだよな
C89プログラマとしては
0218デフォルトの名無しさんNGNG
>>215
VBのようにって、おいおい・・・。
関数をコピペしてつかってんのかい、おいおい。
それは副作用が大きいと思うぞ。

そんだったらオブジェクト指向のほうが全然いい。

UMLでMDAでどうにかしてクラス図やアクティビティ図描いただけで
プログラミングができるてならわかるけども。

あとは、人工知能がどうにかならんことには。

0219デフォルトの名無しさんNGNG
>>218
RADでぺたぺた貼るような感じで開発できるように
コンポーネントを開発する
という例でVBを挙げているんだと思うぞ
0220219NGNG
顧客がRADプログラミングのような感じでカスタマイズできるソフトウェアを
プログラマが簡単に開発できる環境
0221デフォルトの名無しさんNGNG
まじめに言語を勉強する人はやっぱC言語から入るのがいいんじゃないか?
Cさえやっとけば、JavaとかC++とかへの移行は段階的なものとして捉えられるから。
(Cにオブジェクト指向とか足しただけだし)

>>52
それが本職の人も多いね・・・しかも需要あるし。
0222デフォルトの名無しさんNGNG
>>221
あまり手続き指向を長くやりすぎるとオブジェクト指向が覚えにくくなるぞ
0223デフォルトの名無しさんNGNG
>>221

まじめにってどういう意味か分からないけど
なんか今楽しようって匂いがする選択のように思うよ。
というか、そういうのはまじめにって言わないんじゃないの?

まじめに勉強するというなら、何から入るかとかより、
とりあえず入手可能な言語は全て試すくらいの気概を持って欲しいね。
そして、
 アルゴリズムの基礎本も5〜6冊は揃えて参照出来る状態でいて欲しいし
 アセンブラからの低級な部分も知っておいて欲しいし、
 今研究されている分野の概要も知っていて欲しいし、
0224デフォルトの名無しさんNGNG
>>223
お前本当に初心者にそんなこと教えるのか?
絶対挫折するぞ
やる気が大切ってのはわかるが
0225デフォルトの名無しさんNGNG
どの言語から始めればいいの?と聞く初心者には,
「何(どんな問題)をやりたいのか言え,話はそれからだ」
と答えるべきだな

目的が曖昧な初心者のやる気が長く続くとは思えないし,
やりたい問題が分かれば,適切な言語を答えやすい

将来の仕事のため,とかいう奴には,
「現在は〜がいい,だが未来は知らん」
とでも答えるか
0226デフォルトの名無しさんNGNG
>>223
まじめにってのは、個人的趣味としてのフリーウェア開発を超えて、
ある程度言語体系に触れるという意味で、だよ。
それじゃあ言語オタクだろ。
0227デフォルトの名無しさんNGNG
>>226
> ある程度言語体系に触れるという意味で、だよ。
職業下級プログラマ止まりなら関数型言語なんてまず触れないだろうな
0228デフォルトの名無しさんNGNG
>>226
フリーソフトの開発よりも上を目指すというなら、それはやっぱり>>223だと思うよ。
人売屋の商品になりたいなら別だけどね。
0229デフォルトの名無しさんNGNG
>>226
そりゃそうだがどう見ても中級者向けの内容だろう。
0230デフォルトの名無しさんNGNG
>>228
まじめに勉強する人は職業プログラマにはなりませんよ
0231デフォルトの名無しさんNGNG
なあ、まじめではなくてはじめって言い間違えたのでは?
0232デフォルトの名無しさんNGNG
ということにしたいんですね
0233デフォルトの名無しさんNGNG
>>230-232
藁多
0234 NGNG
目的、欲求と知識、技能は両輪。
いびつに、不連続に発達する。
0235226NGNG
231は俺じゃないんだが、まあめんどくさくなったからそういうことにしたい
0236デフォルトの名無しさんNGNG
ということにしたいんですね
0237デフォルトの名無しさんNGNG
じゃあ、そういうことになりましたので、
↓どうぞ
0238デフォルトの名無しさんNGNG
そういうことにしたいのはわかるが、まあそう早まらんでもいいんじゃないか。
0239デフォルトの名無しさんNGNG
では、そういうつもりにはなってはいなかったみたいなので、
そういうことでおねがいします↓
0240デフォルトの名無しさんNGNG
>>230
プログラミングを「勉強」しなきゃならんやつは
その時点で適正がないと言うことは認める。
0241デフォルトの名無しさんNGNG
適性があっても人間がまともなら職業プログラマにはならないだろ
0242デフォルトの名無しさんNGNG

プログラマ馬鹿一代

マユゲそって山でも篭るか。
0243デフォルトの名無しさんNGNG
プログラミングの覚え方は二つある
ひとつはベーマガ式。
パソコンを買い与えられベーマガなどを読んで自分でガリガリ
書いて投稿したりフリーソフトを発表するようになる、
パソコン少年の覚え方。

もうひとつは(LHAの)吉崎式英才教育型。
会社か個人で資料をかき集めて集中的に詰め込む。
インターネッツがいくら発達したからといって
名著をかき集めてきて集中的に覚える方が効率がいい。
0244デフォルトの名無しさんNGNG
名著ってのは作者の書いた本(ランダルとか)も含まれるかな
0245デフォルトの名無しさんNGNG
>>243
上のやり方で覚えた人:下のやり方で覚えた人、の比率は?
0246デフォルトの名無しさんNGNG
職業プログラマの8割(テキトー)は下のほうでは?
0247デフォルトの名無しさんNGNG
とりあえず上が途中で下をやろうとするとエラいことになる。
0248デフォルトの名無しさんNGNG
1位 HSP
2位 ひまわり
3位 TTS
0249デフォルトの名無しさんNGNG
>>247
逆に下が途中で上をやろうとしてもモチベーションが続かない
0250デフォルトの名無しさんNGNG
素質としては多分上の方があるだろうから
上が下の勉強をするのが最強。
0251デフォルトの名無しさんNGNG
>>248
糞厨必死だなw
0252デフォルトの名無しさんNGNG
>>248
面接で、それらの言語のことを口にしたところ、
面接官に「何それ?」と言われてしまいました。
どうすればいいですか?
■ このスレッドは過去ログ倉庫に格納されています