You have some points there and I would agree that you could organize your gamemode effectively by using functions and I would say that is an acceptable approach if your comfortable with it.
I also 100 agree using c++, php, java etc to build your gamemode is silly for the reasons you have...