【共同開発者募集】 インタプリタ・コンパイラ制作

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
taka
記事: 34
登録日時: 5年前
住所: 三重県

【共同開発者募集】 インタプリタ・コンパイラ制作

#1

投稿記事 by taka » 3年前

バイトコードインタプリタを開発して、それ専用のアセンブラとコンパイラを制作しているのですが、
規模とバグがあまりにも多く、一人で開発を続けるのが厳しくなってきてしまいました。
なので、共同開発をしてくれる方を募集したいです。
また、開発をどうやって管理すればいいかも教えていただけたら嬉しいです。
当方の開発環境は
Windows 7 Ultimate x64 + Visual Studio 2010 Express
です。
開発中の3つ(インタプリタ、アセンブラ、コンパイラ)のプロジェクトのzip 添付しておきます。
インタプリタ : GPstation フォルダ (インタプリタ本体はgp3200+フォルダのgp3200+.cpp)
コンパイラ : gpc フォルダ
アセンブラ : CASM-GP3200+ フォルダ
添付ファイル
gp32+_devel.zip
開発中のプロジェクトのzip
(5.14 MiB) ダウンロード数: 154 回

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#2

投稿記事 by YuO » 3年前

参加は出来ないですが提案的な物だけ。

チーム開発やるなら,とりあえずgitなりSubVersionなりのバージョン管理環境を作りましょう。
ソースコードを公開するのであればgithub,公開しないのであればVisual Studio Team ServicesBitbucketなどを使うのが簡単だと思います。

githubやVSTSのgitモードで管理を行うとなると,VS2010だと厳しく,VS2015使ってしまった方が楽ができる気もします。
実際のgit操作自体はSourceTreeやGit Bash使うので,VSから操作できないこと自体はあまり問題にならないのですが,
プルリクなどの対応がVS2015であれば行われているため,IDE上である程度確認等ができるという利点があります。
オフトピック
5人を越える人数で開発かつコード非公開ということでなければ,自前の中央gitリポジトリはお薦めしません。
自宅サーバー + Linux + git + RedMine等という構成になると思いますが,「連携できる」と「一つの物」ではやはり使い勝手が違いますので。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#3

投稿記事 by softya(ソフト屋) » 3年前

参加予定は申し訳ないですが無いのですが。

どの共同作業もですが、明確な線引きと目標がないと頓挫します。
特に言語となると、興味の人はプログラミング言語にこだわりがある人が多いかと思いますので、言語仕様で揉める可能性が非常に高いです。
なので、まずホームページなどを作って、そこの言語仕様やコンパイラ仕様などのドキュメント、ベータ版などの完成目標(時期・規模)、どういう知識が必要か、他の参加者がどこまで口を出して良いのかなどを記載した方良いでしょう。ドキュメントなどの整備は、共同開発中心人物の責務だと私は思います。。
ライセンス・著作権も問題になります。先に決めておきましょう。

> 規模とバグがあまりにも多く、一人で開発を続けるのが厳しくなってきてしまいました。
そもそも、その規模で作らなければいけないのかと言う基本的問題が出てきそうな話なので。

ソースコードをざっと見ましたが、C言語でコメント無しですね。
yacc/lex系も使ってないみたいですし、字句解析・構文解析も自前ですか?
覚悟として聞きたいんですが、全コメント入れてくれとか、C++で書き換えたいとか、全部書きなおそうとか要望が来ても耐えられそうですか?

【補足】
ざっと見た感じ規模的には大した言語仕様に見えませんので、共同開発というよりこの破綻したプログラムを設計から見なおして全部書き直せる優秀な人お願いしますって事になりそうな感じです。
例えばですが、私が参加したとしたら、このままからコードを直すより作りなおしを選びそうです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

たいちう
記事: 418
登録日時: 9年前

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#4

投稿記事 by たいちう » 3年前

規模はともかくとして、バグがあまりにも多いというのは、
設計が破綻しているのではないでしょうか。

今までどの程度の規模のプロジェクトを完成させたことがありますか?
今までの完成させたプロジェクトと、今回のプロジェクトの規模とが、
あまりにも差があるならば、優秀なプロジェクトマネージャーも必要になるでしょう。

完成させたプロジェクトのうち最大のものと、今回のプロジェクトの見込みについて、
何千行とか何人月とかの単位で答えられますか?

アバター
へにっくす
記事: 628
登録日時: 7年前
住所: 東京都

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#5

投稿記事 by へにっくす » 3年前

プロフィールを見る限り15歳とあるので、仕様書/設計書なんて作成したことなんてないのかもしれませんが、それがない時点でダメですね。
バグがあまりにも多いのは、仕様や設計が固まっていないからですよ(そもそも仕様書/設計書がない時点で他の人にバグとは言えないのですが)。
例えるならゴールが霧で隠れているので永遠に走っている状態です。それに耐えられないから、代わりに走ってくれない?と言ってるようなもんです。
あなたは他人からそう言われたらどう思いますか。まず断るでしょう。

結局どういう仕様で作るのかをまず固めないと、協力を募っても誰も来てくれないと思います・・・
(別に仕様は変わってもいいのですが、今の時点で、どういう仕様になっているかが明確になっていないのがダメなのです)

参考の質問。
プログラマの方に質問です。仕様が明確でないものを、バグを出さずに作成するにはどうしたら良いのでしょうか?
written by へにっくす

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#6

投稿記事 by taka » 3年前

返信ありがとうございます。
githubなどを揃えた時点で最終決定しますが
今のところ
・アセンブラチーム 1~2人
・コンパイラチーム 1~3人
・インタプリタチーム 1人
募集したいと思います。

へにっくす さんが書きました:結局どういう仕様で作るのかをまず固めないと、協力を募っても誰も来てくれないと思います・・・
(別に仕様は変わってもいいのですが、今の時点で、どういう仕様になっているかが明確になっていないのがダメなのです)
仕様書と設計書、ないとやっぱりダメだったんですね。
しっかり書き上げて返信させていただきます。
softya(ソフト屋) さんが書きました:特に言語となると、興味の人はプログラミング言語にこだわりがある人が多いかと思いますので、言語仕様で揉める可能性が非常に高いです。
なので、まずホームページなどを作って、そこの言語仕様やコンパイラ仕様などのドキュメント、ベータ版などの完成目標(時期・規模)、どういう知識が必要か、他の参加者がどこまで口を出して良いのかなどを記載した方良いでしょう。ドキュメントなどの整備は、共同開発中心人物の責務だと私は思います。。
ライセンス・著作権も問題になります。先に決めておきましょう。
目標なども仕様書に書きますが、今決まっている目標は
・オブジェクトファイルの生成(アセンブラ)
・浮動小数点対応(コンパイラ)
・分割コンパイル対応(コンパイラ)
・配列対応(コンパイラ)
・まともなエラー処理の実装(コンパイラ・アセンブラ)
です。
参加者が干渉できる範囲は
・自分担当のプロジェクト全て
です。
ライセンスはLGPL(インタプリタ)とGPL(コンパイラ・アセンブラ)にする予定です。
YuO さんが書きました:チーム開発やるなら,とりあえずgitなりSubVersionなりのバージョン管理環境を作りましょう。
ソースコードを公開するのであればgithub,公開しないのであればVisual Studio Team ServicesやBitbucketなどを使うのが簡単だと思います。
githubで行こうと思います。
たいちう さんが書きました:今までどの程度の規模のプロジェクトを完成させたことがありますか?
今までの完成させたプロジェクトと、今回のプロジェクトの規模とが、
あまりにも差があるならば、優秀なプロジェクトマネージャーも必要になるでしょう。
フラットシェーディングのフルソフトウェア3Dレンダラのプロジェクトは完成しています。
また、2Dのゲーム用ライブラリなども今完成直前です。
その他のプロジェクト(10~15個)はスパゲッティ化で放置状態になっています。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#7

投稿記事 by taka » 3年前

とりあえずgithubに各プロジェクトのリポジトリ作りました
https://github.com/taka-tuos
ここに出てる3つです。
それと、仕様書というかリファレンスというか
それもかけたので添付しておきます。
間違ってたら書き直します。
添付ファイル
仕様書.zip
仕様書みたいなもの
(87.85 KiB) ダウンロード数: 139 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#8

投稿記事 by softya(ソフト屋) » 3年前

えーと、仕様書を軽く読みました。
開発はC99じゃなきゃダメなんですか? C++は受け付けないということでよろしいですか。
VC++の場合C99準拠がアレなんですけどね。

開発するプログラミング言語の文法が書いてないですが、非常に大事だと思います。
そこを明らかにしないで、ただ手伝いがほしいのですか?
そういうのは、奴隷募集としてたいへん嫌われる募集の仕方です。
今のところ言語コンセプトが明確じゃないので、議論がそもそもできると思えません。
一緒に言語を作りましょう!ってモチベーションの大事なところですよ。

あとtakaさんの立ち位置が明確じゃないですね。
共同作業化した場合の開発設計のリーダーは出来ないと思いますので何をするんでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#9

投稿記事 by YuO » 3年前

オフトピック
softya(ソフト屋) さんが挙げているようなプロジェクト自体への話はしないでおきますが……。
えーっと,今までバージョン管理はしてこなかったのでしょうか。
内容からしてそれなりの大きさになることが想定される以上,ローカルでのバージョン管理は当然行われていると思っていたのですが。
それすらされていないのであれば,自身の開発スタイル全体を見直した方がよいかと思います。

そして,Issueとしてあげておきましたが(https://github.com/taka-tuos/casm-GP3200-alpha/issues/1),Git管理下にDebugディレクトリが入っているとかありえないです。

コード:

git reset --hard
したあとにリビルドして,

コード:

git status
すれば理由がわかるかと。
まぁ,これらだけgit rmされてもリポジトリのサイズは大きいままなので,作り直した方がよいと思います。
必要十分な.gitignore書くのは面倒だと思いますが……。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#10

投稿記事 by taka » 3年前

YuO さんが書きました:えーっと,今までバージョン管理はしてこなかったのでしょうか。
内容からしてそれなりの大きさになることが想定される以上,ローカルでのバージョン管理は当然行われていると思っていたのですが。
それすらされていないのであれば,自身の開発スタイル全体を見直した方がよいかと思います。

そして,Issueとしてあげておきましたが(https://github.com/taka-tuos/casm-GP3200-alpha/issues/1),Git管理下にDebugディレクトリが入っているとかありえないです。
GP3200+の方はいちおうバージョン管理してたんですけど
gpcとかcasmは過去verなんて残してませんでした(^^;
YuO さんが書きました:まぁ,これらだけgit rmされてもリポジトリのサイズは大きいままなので,作り直した方がよいと思います。
やはり大きいと周りに支障出そうなので
リポジトリ作り直しておきます。
softya(ソフト屋) さんが書きました:開発するプログラミング言語の文法が書いてないですが、非常に大事だと思います。
そこを明らかにしないで、ただ手伝いがほしいのですか?
そういうのは、奴隷募集としてたいへん嫌われる募集の仕方です。
今のところ言語コンセプトが明確じゃないので、議論がそもそもできると思えません。
一緒に言語を作りましょう!ってモチベーションの大事なところですよ。
えーと、コンセプトは書いてなかったですが
文法は.docxの方にかなり書いてあったかと思います。
コンセプトは
C言語 for GP3200+
ですね。

募集したのは、周りにC言語できる人がいないからですね。
インタプリタばかり進んでしまっていて
コンパイラやアセンブラが追いつけてないんです。
コンパイラとアセンブラがスパゲティプログラムすぎて。
完成したら公開するのは決めていましたので、第三者視点の方に参加してもらって
より使いやすく、見やすくできたらなと思いまして。

あと
softya(ソフト屋) さんが書きました:あとtakaさんの立ち位置が明確じゃないですね。
共同作業化した場合の開発設計のリーダーは出来ないと思いますので何をするんでしょうか?
については
インタプリタチームでメンバーとして開発したいと思っております。
リーダーも言語仕様やVMに詳しい人がいればその方にお任せするつもりです。
オフトピック
実はHDDがSSDで128GBだったんで(ちょっと前まで空き5MB)長いソースのバージョン管理する容量の余裕がなかったんです(^^;
今は1TBのサブHDDがあるのでラクラクですが。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#11

投稿記事 by softya(ソフト屋) » 3年前

>コンセプトは
>C言語 for GP3200+
>ですね。

よく意味がわからないです。
どうみてもC言語じゃないです。
本当にC言語を実装したいなら大規模過ぎて、やめておいたほうが良いとしか言えません。

コード:

function entry()
	val32 .dim
	ptr32 .pixel
	
	@pixel = 0x10000
	
	val32 .x
	val32 .y
	
	val32 .r
	val32 .g
	val32 .b
	
	for(.y = 0,[.y < 480],.y = .y + 1)
		for(.x = 0,[.x < 640],.x = .x + 1)
			.r = 255 - .y / 2
			.g = .x / 3
			.b = 255 - .x / 3
			
			@pixel = 0x10000 + (.y * 640 + .x) * 4
			:pixel = (.r * 65536) + (.g * 256) + .b
		next
	next
	
	asm out($1,$1)
	
	@pixel = 0x10000
	
	for(.dim = 0,[.dim == 0],.dim = 0)
		:pixel = :pixel + 1
		asm out($1,$1)
	next
endf
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#12

投稿記事 by taka » 3年前

softya(ソフト屋) さんが書きました:よく意味がわからないです。
どうみてもC言語じゃないです。
本当にC言語を実装したいなら大規模過ぎて、やめておいたほうが良いとしか言えません。
えーと、まあ「コンセプト」ということなので。
コンセプト≠理想(現実)です。
「C言語に慣れた人が仕様を見るだけで使える言語」
と言ったほうが良かったですね。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#13

投稿記事 by softya(ソフト屋) » 3年前

taka さんが書きました:
softya(ソフト屋) さんが書きました:よく意味がわからないです。
どうみてもC言語じゃないです。
本当にC言語を実装したいなら大規模過ぎて、やめておいたほうが良いとしか言えません。
えーと、まあ「コンセプト」ということなので。
コンセプト≠理想(現実)です。
「C言語に慣れた人が仕様を見るだけで使える言語」
と言ったほうが良かったですね。
それを明確に、現状と将来の仕様を掲げられないならOSSリーダーとして問題ありだと思います。
今後変わっていくのは自然なことだと思いますが、現実性のないコンセプトは書く意味が無いです。
【訂正・補正】
現実性のないコンセプトではなく、現状を表していない。将来性も示せていない。どういう物を作るかを定義できていないコンセプトは混乱を招くだけで意味が無いと訂正させてもらいます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#14

投稿記事 by taka » 3年前

softya(ソフト屋) さんが書きました:それを明確に、現状と将来の仕様を掲げられないならOSSリーダーとして問題ありだと思います。
今後変わっていくのは自然なことだと思いますが、現実性のないコンセプトは書く意味が無いです。
ご指摘ありがとうございます。
誇張してしまったのは反省しています。

今から仕様書の書き直しと
募集要件の最終決定をするので
決定したら再度返信させていただきます。
オフトピック
この掲示板で募集してもいいんだろうか・・・

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#15

投稿記事 by Dixq (管理人) » 3年前

> この掲示板で募集してもいいんだろうか・・・

大丈夫ですよ。
タイトルも分かりやすく書いていただいていますし、問題ないと思います。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#16

投稿記事 by taka » 3年前

管理人さんどうもです。

というわけで募集要項できました。
仕様書修正も書き上がりました。
添付しておきます。

募集メンバー
・プロジェクトを引っ張れる方 1人 (所属先はプロマネ)
・アセンブラチーム 1~2人 (グローバル変数スパゲティソースです)
・コンパイラチーム 1~2人 (関数呼び出しスパゲティソースです)
・インタプリタチーム 1人 (綺麗なソースです)

「CC0」にライセンスを変更します。

自分的にはメンバ-は「少ないほうがいい」です。(連絡が楽なので)
僕は受験生なのでプロジェクトに顔を出さないことがあるかもしれません。
参加したい方は添付仕様書内にある連絡先にメールしてください。
添付ファイル
仕様書-final.zip
仕様書 修正(1)
(88.4 KiB) ダウンロード数: 126 回
最後に編集したユーザー taka on 2016年1月07日(木) 15:18 [ 編集 2 回目 ]

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#17

投稿記事 by Dixq (管理人) » 3年前

自分が作ったバグが多くて破綻しかけているソースコードを修正してくれる人とリーダーを募集しておいて
自分は受験生なので顔を出さないというのは・・。
本当にこんな呼びかけで人が集まるのか不安です・・。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#18

投稿記事 by softya(ソフト屋) » 3年前

これだとパブリックドメインソフトウェア風にして著作権は行使しないので、みなさん好き勝手に使ってくださいね。特に制限も付けません。
ぐらいにしないと誰もよってこない気が。それでも厳しそうです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#19

投稿記事 by taka » 3年前

Dixq (管理人) さんが書きました:自分が作ったバグが多くて破綻しかけているソースコードを修正してくれる人とリーダーを募集しておいて
自分は受験生なので顔を出さないというのは・・。
softya(ソフト屋) さんが書きました:これだとパブリックドメインソフトウェア風にして著作権は行使しないので、みなさん好き勝手に使ってくださいね。特に制限も付けません。
ぐらいにしないと誰もよってこない気が。それでも厳しそうです。
ご意見ありがとうございます。
参考にして募集要項編集しておきました。

たいちう
記事: 418
登録日時: 9年前

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#20

投稿記事 by たいちう » 3年前

> フラットシェーディングのフルソフトウェア3Dレンダラのプロジェクトは完成しています。
> また、2Dのゲーム用ライブラリなども今完成直前です。
> その他のプロジェクト(10~15個)はスパゲッティ化で放置状態になっています。

↓これには答えていただけないのですね。

> 完成させたプロジェクトのうち最大のものと、今回のプロジェクトの見込みについて、
> 何千行とか何人月とかの単位で答えられますか?


「みんなでゲームを作ろう」という呼びかけも、滅多に成功しないようです。
それと比較しても人が集まるかどうか。
焦らずに身の丈に合ったものを作って経験を積むことをお勧めします。
最初のうちは小規模でも汚くても良いので完成させることです。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#21

投稿記事 by taka » 3年前

>>たいちうさん
スイマセン 見落としてました。
完成させたプロジェクトのうち最大のものと、今回のプロジェクトの見込みについて、
何千行とか何人月とかの単位で答えられますか?
ですが、
僕は今回が共同制作初めてなので
ちょっとわからないですね・・・
1万行超えるのはないと思いますが。
今まで書いたソースは大体200~2000行ぐらいです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#22

投稿記事 by softya(ソフト屋) » 3年前

誤解されているようなので、書き加えます。
パブリックドメインと呼ばれる法的に根拠の無い著作権の扱いはありません。
> パブリックドメインソフトウェア風に
と書いたのは、それに近い別のライセンス形態を選んでね。という意味です。
色々とライセンスについて勉強されたほうが良いと思います。

それとパブリックドメインソフトウェア風に公開する以上は、あれこれ注文を付けると意味がなくなります。
完全にオープンにするか、パブリックドメインソフトウェア風をやめて自分が全てコントロールするか、どちらかを選んだほうが良いと思います。

最後に、こういう自己都合だけの条件を付けるなら、共同作業はしないほうが良いんじゃないかと思います。
ここに意見を言わないなら、なんの共同作業でしょう。みんなの意見をまとめてこそ共同作業じゃないでしょうか?
※以下はtakaの「今まで守ってきたこだわり」です。これに異論がある場合は守ってもらわなくていいので直接意見を言うことだけはやめてください。

■開発者向けメッセージ by taka(GPstation)
・GPUをLuaなどテキスト系にするのはやめてほしいです。
■開発者向けメッセージ by taka(casm-gp3200)
・スパゲティなのは気にしないでください。案外とメンテナンス性いいので。
■開発者向けメッセージ by taka(gpc)
・構文解析を簡単にするための記号等(@など)は「なるべく消さない」でほしいです。
・yacc,lex等はできれば使わないで欲しいです。 (コンパイラを作りたい人でyacc,lexを使いたくない人のため)
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#23

投稿記事 by taka » 3年前

softya(ソフト屋) さんが書きました:誤解されているようなので、書き加えます。
パブリックドメインと呼ばれる法的に根拠の無い著作権の扱いはありません。
> パブリックドメインソフトウェア風に
と書いたのは、それに近い別のライセンス形態を選んでね。という意味です。
色々とライセンスについて勉強されたほうが良いと思います。

それとパブリックドメインソフトウェア風に公開する以上は、あれこれ注文を付けると意味がなくなります。
完全にオープンにするか、パブリックドメインソフトウェア風をやめて自分が全てコントロールするか、どちらかを選んだほうが良いと思います。

最後に、こういう自己都合だけの条件を付けるなら、共同作業はしないほうが良いんじゃないかと思います。
ここに意見を言わないなら、なんの共同作業でしょう。みんなの意見をまとめてこそ共同作業じゃないでしょうか?
※以下はtakaの「今まで守ってきたこだわり」です。これに異論がある場合は守ってもらわなくていいので直接意見を言うことだけはやめてください。

■開発者向けメッセージ by taka(GPstation)
・GPUをLuaなどテキスト系にするのはやめてほしいです。
■開発者向けメッセージ by taka(casm-gp3200)
・スパゲティなのは気にしないでください。案外とメンテナンス性いいので。
■開発者向けメッセージ by taka(gpc)
・構文解析を簡単にするための記号等(@など)は「なるべく消さない」でほしいです。
・yacc,lex等はできれば使わないで欲しいです。 (コンパイラを作りたい人でyacc,lexを使いたくない人のため)
ご指摘ありがとうございます。
言うだけ言っておきたかったことだったんですが
すこし自己中心的すぎました。
その条件は削除しておきます。
少し調べてみましたところ、ライセンスは「CC0」が良さそうな感じでしたので
それにする予定です。

たいちう
記事: 418
登録日時: 9年前

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#24

投稿記事 by たいちう » 3年前

質問の意図が伝わっていないようですね。
プロジェクトの難易度の要因は色々ありますが、
最も重要な要因(少なくとも要因の一つ)はプロジェクトの規模だと私は思っています。
そのためプロジェクトの規模を答えられるか聞いたので、
行数で答えるならばプロジェクトの全ソースファイルの行数の合計です。

「フラットシェーディングのフルソフトウェア3Dレンダラ」のプロジェクトの全行数が2000行で、
募集中のプロジェクトが完成した場合の見込みが10000行程度ということでしょうか?
それならば、「今までの最大の5倍に挑戦」ということなので少々野心的とは感じますが、
1万行というのはさほどの規模ではないので、1人で取り組むなら無理だとは言いません。
(プロジェクトの難易度の別の重要な要因は参加する人数です。1人の場合が一番簡単です)

そうでないならば、完成させたプロジェクトの全行数と、
募集中のプロジェクトの全行数の予想を、それぞれ大体でよいので考えてみてください。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#25

投稿記事 by taka » 3年前

たいちう さんが書きました:プロジェクトの難易度の要因は色々ありますが、
最も重要な要因(少なくとも要因の一つ)はプロジェクトの規模だと私は思っています。
そのためプロジェクトの規模を答えられるか聞いたので、
行数で答えるならばプロジェクトの全ソースファイルの行数の合計です。
そういう意味だったんですね。
誤解してしまっていました。
フラットシェーディングのフルソフトウェア3Dレンダラは、しっかり数えたら全ソースで1734行でした。
今回募集中のプロジェクトの全ソースファイルの行数の合計は、
GPstation(インタプリタ) : 745行
CASM-GP3200(アセンブラ) : 763行
gpc(コンパイラ) : 904行
でした。
「このままの仕様なら」完成はおそらく
GPstation(インタプリタ) : 850~1200行
CASM-GP3200(アセンブラ) : 830~1000行
gpc(コンパイラ) : 1000~1800行
あたりになるかと思われます。
「1万行超えるのはない」っていうのは仕様変更も考えた場合ですね。
オフトピック
今まで行数しっかり数えたことなかった・・・
数えて気づいたけど分割してないのがスパゲティの原因だったかも
[追記]
この行数で人に頼るなと言われそうですが、
「規模が大きいので手伝って欲しい」てこと書いてますが
ここでの「規模」は
「行数としての規模」ではなくて「ここからさらに進めるにあたって必要な知識(理解)の規模」です。
インタプリタやアセンブラが貧弱過ぎるのに気づいても、わからないなりに機能追加→「どの段階で出たのかわからないバグ」が出る→結局その機能を消す
のような事態を招いて「開発が進まずモチベーションだけ下がっていく」状況になっていたので
共同制作してくれる方を集めるに至りました。
誤解を招くような表現だったので補足でした。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#26

投稿記事 by softya(ソフト屋) » 3年前

それは共同制作ではなく、教えてくれる人が必要だったのでは無いですか?
共同制作はどちらかと言うと共に成長するとか、逆に教える立場になるのが一般的かと思います。
自分のではなく、他の共同制作に参加するとか、他の人のオープンソースのコードを読んで学ぶ必要があったのではと思います。

この仮想マシンやアセンブラやらコンパイラなら、設計の良し悪しとか、どうするば良いかとはこの掲示板などで質問する事もできます。
※ 一度にやると多すぎるので、個別のやったほうが良いでしょう。
どういう本を読めば良いかのアドバイスも出来ると思います(中高生には高すぎる本しか浮かびませんが)。
一度白紙に戻して考えなおしてみたほうが良さそうな気がします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#27

投稿記事 by taka » 3年前

softya(ソフト屋) さんが書きました:それは共同制作ではなく、教えてくれる人が必要だったのでは無いですか?
共同制作はどちらかと言うと共に成長するとか、逆に教える立場になるのが一般的かと思います。
自分のではなく、他の共同制作に参加するとか、他の人のオープンソースのコードを読んで学ぶ必要があったのではと思います。

この仮想マシンやアセンブラやらコンパイラなら、設計の良し悪しとか、どうするば良いかとはこの掲示板などで質問する事もできます。
※ 一度にやると多すぎるので、個別のやったほうが良いでしょう。
どういう本を読めば良いかのアドバイスも出来ると思います(中高生には高すぎる本しか浮かびませんが)。
一度白紙に戻して考えなおしてみたほうが良さそうな気がします。
そう言われてみればそうですね。
よく考えてからトピック立てるべきでした。
一度白紙に戻します。
返信くれた方々、ありがとうございました。
また詰まったところがあれば個別でトピック立てさせていただきます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#28

投稿記事 by softya(ソフト屋) » 3年前

そのほうが良さそうです。

それと、
・スパゲティなのは気にしないでください。案外とメンテナンス性いいので。
と書いてましたが、バグが多かったり、拡張性に乏しかったり、他に人が読みづらかったり、設計が不十分だったりでメンテンナンス性が高いとは思えません。
根本的なところは、そこをまず直すことじゃないでしょうか。
そもそも、リファクタリングしてますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

taka
記事: 34
登録日時: 5年前
住所: 三重県

Re: 【共同開発者募集】 インタプリタ・コンパイラ制作

#29

投稿記事 by taka » 3年前

softya(ソフト屋) さんが書きました:・スパゲティなのは気にしないでください。案外とメンテナンス性いいので。
と書いてましたが、バグが多かったり、拡張性に乏しかったり、他に人が読みづらかったり、設計が不十分だったりでメンテンナンス性が高いとは思えません。
根本的なところは、そこをまず直すことじゃないでしょうか。
そもそも、リファクタリングしてますか?
アドバイスありがとうございます。

ホントのことをいいますと、
コード整理は
自分にとってメンテナンス性が悪くなる(一箇所の処理が4箇所以上に散らばっている && 機能追加に長時間かかる)までやらないんです。
薄い入門本(ビジュアルラーニングC言語入門)+独学だけでここまで来てしまったので
書くコードは8割方スパゲティなんです。
「整理したらバグ出るから」っていう理由でしないことが多々です。
つまり「リファクタリングしたことがほとんどない」んです。
これまで人にソースを読まれることもありませんでしたし。
自分のやり方を見直す必要ありですね。

とりあえずコード整理&設計見直しやってみます。
オフトピック
いつもはリファクタリングどころか関数をマクロ化したりするのもよくあるのは秘密

閉鎖

“C言語何でも質問掲示板” へ戻る