Re: Is Euphoria ever going to be newbie-friendly?
- Posted by DerekParnell (admin) Jul 25, 2015
- 3265 views
So, this topic has been raised many times before, but I could never figure out what the answer to this question was. I will give it one last shot, because I am getting a bit frustrated.
I'm sorry that you're getting frustrated. All I can say about that is that learning some new, non-trivial thing will lead most people to a phase of frustration, so please look at this feeling as normal and common. It is real and you can deal with it in a number of ways, including not giving up, and keep asking questions until you get meaningful answers.
On the face of it, Euphoria looks very user friendly, especially thanks to its easy and readable syntax. But then, when a user wants to go beyond the basics, things are not so easy anymore. For one, there is a huge lack of learning materials.
I totally understand where you are coming from here.
And I need to mention that this very same effect applies to every programming language out there. By definition 'the basics' are the easy stuff. And what exactly constitutes 'basic' varies from person to person.
Once you know a language's syntax, keywords, and fundamental concepts behind its view of things, you know its 'basics', but the effort then becomes applying that knowledge to real-world problems. This is not limited to the Euphoria language. Going beyond the basics usually involves algorithms, interfacing, and data issues - all of which are independent of the particular language you are using.
The learning materials you mention sound like you are wanting to see how Euphoria, specifically, can be used to solve actual problems. Fair enough.
Ok, but to be helpful, it would be good to know exactly what it is you would like to achieve using Euphoria; what is it you want to build?
Most of the Euphoria users are old-timers and, let's face it, there are almost no newbies around. My guess is that the actual adoption rate is very low. I must admit I don't have any statistics, and all I go by are the forum posts: apart from the occasional newcomer, the posts are mostly by old timers, discussing some highly advanced aspect of the language.
Now, what I was hoping to achieve from this thread is some better understanding, a clarification regarding the language developement policy of Euphoria (if there is one). The question is: are newbies ever going to be the target audience of the language developement efforts (or at least of some significant part of it)?
Because I'm one of the 'oldies' here, maybe I can't see the issue clearly. Can you be very specific about what would be useful for you to have developed for Euphoria?
The distinct impression that I got from reading this forum for several years is that most of the developing efforts (which include documentation, learning materials, not only language development alone) do not seem to care much for newbies. To me, it seems that the developement only goes on for the sake of the small community of the developers, who are expert programmers; if this is really the policy, newbies are bound to be left out, because they are unable to find the stepping stones that would allow them to progress.
Of course it's not the policy. That would be stupid in the extreme. Never prioritize conspiracy over ignorance.
What would the 'stepping stones' look like if you saw them? And please, please, be very specific. I can't read your mind.
Of course Euphoria is there for anyone, in theory, but in practice not everyone can benefit from it.
One can remove spark plugs with a hammer and chisel, but it's not recommended. Likewise, Euphoria is not the tool for every programming problem, so I would expect that certain applications will not be better off for using Euphoria over some more suitable programming language. Euphoria is a general purpose language, and as such, it doesn't have the built-in magic to deal with lots of specific situations. In general, if a library routine you need is not being supplied with the standard distribution, either write one or get someone else to write one for you.
As for enhancements to the language itself, these need extreme care in defining, planning, and implementation. Rushing though an enhancement is more likely to be counterproductive.
As pointed out in other posts, the manual is too technical, too terse. There are no up-to-date tutorials for the recent version of Euphoria. There are no schools or colleges teaching Euphoria, anywhere in the world, so all what a Euphoria learner can possibly hope for, in terms of tutorials and teaching resources, has to come from this website. Other resources for newbies such as the Rosetta Code website and the usingeuphoria.com website are not enough.
You are correct. Creating excellent tutorial material is a huge task, and one which is easy to royally stuff up.
Ideally, in my opinion, a good tutorial should be created, and continually refined, as a collaboration. It needs lots of different skill sets and perspectives. Maybe we can start this off by looking at what we have now, what has been started but not completed, and what newbies and oldies need from such material. With a clear set of goals, together we should be able to build something quite useful.
I would appreciate some comments from the developers and from the user community on this topic.
How'd I do?