I'm a total newbie to
Haxe and all of the add-ons like NME, OpenFL, Flixel, Lime, etc., etc., etc., And I am
both discouraged and encouraged by all of this thread (which I have read every post of). It is discouraging that there is not greater unity in the overall area. I've been looking for language and related tool(s)/suites for a few months now. Whenever I decide which way to go I expect that I'll spend hundreds of hours getting started and hundreds more in my first year with them. Thats a LOT of investment and I wish to be as optimal as possibler in my selection. I have a handful of contenders for my ultimate choice,
Haxe et.al. among them.
I know that the Tiobe index (
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) is not the final word on languages, and I use other resources for similar metrics, but it is a flag on the activity level of languages. I initially thought I's stick with the Tiobe "top-20" as they are "appeared" to be the best supported and backed by major (read: worthy of my investment) companies. I've used several of the top-20 products and I've tried trial versions of a few more. As good/bad as they were they were just not ideal for my needs. I widened my search to include the Tiobe "other, 21 through 50) languages. There were a couple of promising languages/tools/suites there (still on my "short list"). But by then I thought 'heck with it - just open the gates' and I looked at the Tiobe "next 50, 51 through 100) languages. And a couple more interesting choices popped up.
I've also done some extensive web searching to find what I wanted. That's when I found
Haxe (
et.al). Haxe (i.e. you guys on this forum,
et.al at large).
Haxe is not even in the top 100 !!! Haxe programmers (in terms of the Tiobe Index of programming languages)(I'm extrapolating here) number
around 1 programmer in 5000 programmers. That makes
Haxe (
et.al.) NOT a popular language! And to see fractures in various segments of the
Haxe et.al. community is what discourages me. Sure I see arguing and in-fighting on the 'top-20's forums, but they are already big enough that such posts are '
down in the noise floor'.
I also said I was encouraged. It is healthy to have people such as those who posted above to debate their fate. I'm absolutely positive that most hearts were in the right place.
And that's nice.
But am I willing to make a major investment of my time in "
nice" ?
Hhmm...
What can the Haxe community do to attract and keep people like me (tech-savy, but new to Haxe) ? And WHY would you or should you?
Maybe you wouldn't and maybe you shouldn't. You wouldn't because you like doing your own thing and don't want to bother with fostering growth (in
Haxe). You wouldn't because you have your own little fiefdom, your niche you particular and unique area of expertise that those other 4999 programmers don't have. You shouldn't if you like being a big fish in a little pond. You shouldn't because you (and the present extent of the
Haxe world) are adequate for your needs and the present rate of
Haxe (
et.al.) evolution is just fine with you.
The answer (from a 50,000 foot viewpoint) is simple: history and industry_dynamics.
Whatever happened to the CP/M OS ? Or. TurboDOS, or ALGOL or Forth, or TRS80's (if you even remember them) ? Time and technology marches on and waits for nobody. Our tech industry is dynamic. I remember programming a C-library for a medical CGA graphics suite and later porting it to a Matrox PGA card (before EGA and VGA). There was no OpenGL or any other such things back then, an no (as you know them) games (except 'Pong').
There are finite reasons why programmers choose their tools; I'll try to name a few (in priority order):
1) their company mandates certain tools (I worked in aerospace for years and we
HAD to use Mentor Graphic workstations for FPGA designs)
2) they learned it in school or OTJ or at vocational school or from their neighbor who was doing #1 above or similar (Apple was famous for this tactic with hardware)
3) it was a fad, going with the majority, part of the varsity, can't go wrong with it (hardcore Tiobe Top-20 type programmers).
4) it has/had unique feature to make superlative or quick work of a task.
#4 needs further explanation. For example if you have scientific or statistical problems you might look at "R" or possibly F# or Julia. If you want to do small problem-solving desktop apps very rapidly then the venerable old VB6 might do or Lua. If you write for machine tools then you write G-code. If you're in to math then MatLab. If you're into instrumentation then Labview. If you create and simulate hardware (such as FPGA's) then you write in VHDL or Verilog. And you know what to use for games.
Over my decades I've come to dislike Microsoft for a variety of reasons. Foremost is that I despise how Gates got into the business and the marketing tactics that made them such a monopoly. I could go on for many pages, but enough on that except a question: Why has VB6 remained on the Tiobe top-20 since forever, even topping
VB.NET for many years after Microsoft abandoned it for a decade? Ans.: it does the job and has a large following (hint, hint, hint)
Okay, so what about
Haxe (
et.al.) ? I see a lot of "how do I..." and "what's this..." questions on this and other Haxe related forums. And I usually see excellent answers or a darn good attempt to help out. 99.44% of these are by and between people who are already proficient in
Haxe, or at least, beyond the newbie stage. How would you like better answers? How would you like more experts? If you are a big fish in a little pond is suspect the answer is "no". But if you truly care about the
Haxe language and want to see it evolve, grow and proliferate then your answer should be "yes".
So how do you do that? You grow the
Haxe(
et.al.) community. The community will ultimately decide (by what they are programming) whether Lime or OpenFL or HaxeFlixel or HaxePunk or Neko or NME or this or that will flourish or die. And none of that will hurt the fish in any pond, there are many species in the same ocean.
How do you grow the community? You nurture any interests in Haxe, you provide a gentile learning curve, you don't skip steps, you don't assume any apriori knowledge (about Haxe, et.al.), you provide 'one-stop-shopping' in terms of learning resources, you forget about "Hello World" example. In fact, examples are NOT for teaching. Teaching requires explanation and reasons 'why?' and zooming from the 50,000ft view to the 2ft views along the way. Teaching requires a sequence of lessons that start from literally nothing and build one on the prior. You cannot dump an obtuse (from a newbie POV) example of blah,blah,blah on a newbie and expect them to 'get it'; you just scare them away.
I read the posts in
haxelib should we upload haxelib examples as well? by JLM and thats great! Thanks all! But it is of
zero help to newbies (and probably wasn't intended to be). I've also gone through some/most of the 'getting started' and 'tutorial' stuff on several
Haxe,
et.al. websites, but those badly suffer from 'not teaching'. For example, if I told you in a G-code forum to use
G10 L10 P- axes <R- I- J- Q->
where R was the radius, , I was the front angle, J was the back angle and Q was the orientation
So now you understand everything about using a G-code G10 command, right? Okay go ahead and use it. No; why not? This was straight from the manual!
Oh, ... it assumes apriori knowledge of the language and whats going on (context); it is NOT a teaching lesson; it is for someone who already has a certain level of proficiency (not a newbie). In fact IF YOU WANTED to machine a nice CNC's aluminum badge for your car then this example would be of no use to you for programming a CNC machine.
I sense that there is something good about Haxe. There are a lot of things that look good from my (newbie) POV. But, frankly, and with no disrespect meant, the documentation or tutorials or whatever sucks from a newbies POV.
I hope that you can all stop your own unique interests in what you're working on to consider the future viability of Haxe, et.al. and work together to get more than 1 in 5000 programmers to use Haxe. Even 1 in 1000 would put you at 500% growth. The Tiobe #50 has 0.199% of the market, that's 1 in 502 programmers.
best regards,
Daryl