1. Programming and Martial Arts

A little bit of philosophy about Euphoria,

When I was teenager I joined a Judo lessons.
I didn't have a belt. All the others had... Black belts.
The teacher and the other students ignored me.
I had to leave - because no one was willing to teach me the basics.

OpenEuphoria looks more and more like a "Black belts only classroom".
What about "...and a lot more fun than other languages."? or "...easy to learn..."?
Do the 'Black belts' are willing to answer, or maybe, Euphoria is losing, slowly but surely its advantage over other complicated languages.
Don't get me wrong, I still think that Euphoria, including version 4.0, are the real thing.
But - what about a non-black-belt students? - Euphoria, now days, don't offer much.
Euphoria don't supply a simple editor, simple documentation, simple path for beginners.

Somehow, Euphoria is losing its charm.

Is Euphoria going to look like Java in the next few years?
Will we need to read 30,000 pages of documentation and confusion just so we can say "I know how to program"?

History shows that this is exactly what happens to all other programming languages...

FORTRAN sent a man to the moon, 40 years ago... No other programming language did.
Simplicity is something built into the character of human being.
We are losing it.

Thanks.

new topic     » topic index » view message » categorize

2. Re: Programming and Martial Arts

I'm a bit confused. Euphoria 4.0 has everything 3.1 had. You can program in 4.0 just as if it were 3.1. You need not know anything more. Now, what 4.0 does that 3.1 doesn't is that in 3.1 when you wanted to split a sequence by ",", you had to write that method yourself or go to the archive and choose one of the 2 or 3 routines found there to do it. Instead, 4.0 comes with a well tuned, community audited split routine that allows you to perform this function out of the box.

For a beginner (non-black-belt), many of the routines included in the 4.0 library would be pretty complex to write. Sure, the docs for 3.1 were smaller but these smaller docs meant a smaller standard library, which by its very nature are routines that one would commonly use in an application. Thus, 4.0 with its standard library has only lowered the bar of the belt required to develop in it.

At the same time something wonderful has happened. To keep with your analogy, what if your Judo class only offered training up to the orange belt? Once you achieved your orange belt, you were done. You could go no further without traveling to a far distant land dramatically different from your home town. The people were different, the culture was different the language was different as well. Then, and only then, could you move from the orange belt up to the black belt, 10th degree.

With 4.0 you can program as if you are a total newbie, nothing more than the 3.1 docs are required but as you learn and get your white belt. Then as you progress and acquire your yellow belt you can begin to use the standard library features and some of the more advanced (100% optional) features of 4.0 such as sockets, regular expressions and labeled loops. As you progress on the belt gathering adventure, 4.0 offers something with each step.

Now, picture this as 3.1. Sure, you get started with a simple document (which you can use to learn 4.0 as well) but once you get your white belt and are ready to start making an application you immediately have to skip 3 or 4 belts to start writing your own split, join, file copy, character testing routines, string trimming and padding routines. You cannot gradually increase your knowledge.

4.0 provides a much more gentle learning approach that is far more suited to a beginner than 3.1 ever was or hoped to be. I was recently asked to port one of my libraries to 3.1 and I decided to look into it. A few hours later, looking at the total lack of a well designed standard library and how much code the 4.0 standard library actually allowed me not to write, I gave up the idea totally. I cringe at the thought of anyone having to learn Euphoria w/3.1. I truely feel sorry for them.

When you look at other languages and compare it to 3.1, you can see we have just raised the bar on the ability to compete with them or offer a viable alternative. 3.1 could have never competed with any modern language in terms of productivity. 3.1 may have competed with languages in the 1990s, but no further. Today GWBasic is no longer in use (at least normal use, I'm sure someone out there in some corner of the world still uses it). Why? It was fantastic back in its day but failed to move forward. As languages evolved and it became known that the ability to slice an array by a single character was common place in all applications and GWBasic did not offer such a thing while other languages did, GWBasic began its death. Euphoria (prior to 3.1) was in that state, dying and dying quickly.

If I were shopping for a language today and stumbled across 3.1, I would pass it right up. In fact, back when I started I actually passed it up for any real programming. It was only once Rob gave the blessing to the dev team to start enhancing Euphoria that I began a real user. I am not alone in this very common story. If 3.1 were to remain, Euphoria would have died. It was near death. Something has to be done to save Euphoria and keeping on with the same old failing hard core Euphoria must contain no more than X methods so that anyone can learn the core language was the dagger being shoved into the heart of Euphoria.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

3. Re: Programming and Martial Arts

Thank you,

Everything you said it's absolutely true, for my opinion.
What made me think that I had to address my frustration to M$ - not to Euphoria.
M$ (Microsoft) is forcing us all to think in a certain way, to program in a certain way,
and... actually to live in a certain way.

M$ had to make it complicated, for making money. a lot of money.
But in the real life, from my personal experience, great things can be done with simple tools.
But then again, simple tools can't compete with greediness and corruption.

I wish all the best to Euphoria 4, it looks like you all did an amazing work. truly!

Thanks, Shian.

new topic     » goto parent     » topic index » view message » categorize

4. Re: Programming and Martial Arts

Shian_Lee said...

A little bit of philosophy about Euphoria,

When I was teenager I joined a Judo lessons.
I didn't have a belt. All the others had... Black belts.
The teacher and the other students ignored me.
I had to leave - because no one was willing to teach me the basics.

Shian, we have many many resources available for beginners.

First, there is, of course, the well-formatted and managed manual.

Then there are the tutorials and MiniGuides in the wiki, and TutorialsOnTheWeb.

Finally, there is the forum.

Our forum has the most friendly and responsive blackbelts in all of technology! :)

Shian_Lee said...

Euphoria don't supply a simple editor, simple documentation, simple path for beginners.

One of OpenEuphoria's philosophies is to not reinvent the wheel when it comes to the wiki and manual. For instance, there's a page about Encryption being discussed right now that intends to be a tutorial for encryption. However, there are so many resources out there already available regarding the basics of encryption, it would be a waste of our resources as a group to create another when we can just point to these other comprehensive resources. Then, our encryption page will deal solely with Euphoria implementations of encryption (for example, basic ideas on optimization, using the standard library, etc.).

Same with the editors... There are already many simple to complex editors available for you to use when programming with Euphoria, so we just created a page to list them (Editors). How simple is that? :)

Also, we have a GettingStarted page, which takes you step-by-step into programming with Euphoria. If that's not simple enough, tell us how to make it more simple for you (in a new feature-request ticket, preferably) and it will get done. I would love to see a comprehensive step-by-step list of going from a whitebelt to a blackbelt (and beyond) in Euphoria, and I think we have bits and pieces of that already.

Thank you for your input. All criticisms and compliments are welcome, so keep them coming. The active involvement of our community of programmers is most important for the improvement of Euphoria. :)

new topic     » goto parent     » topic index » view message » categorize

5. Re: Programming and Martial Arts

Shian_Lee said...

OpenEuphoria looks more and more like a "Black belts only classroom".
What about "...and a lot more fun than other languages."? or "...easy to learn..."?
Do the 'Black belts' are willing to answer, or maybe, Euphoria is losing, slowly but surely its advantage over other complicated languages.

Don't get me wrong, I still think that Euphoria, including version 4.0, are the real thing.
But - what about a non-black-belt students? - Euphoria, now days, don't offer much.
Euphoria don't supply a simple editor, simple documentation, simple path for beginners.

Somehow, Euphoria is losing its charm.

Is Euphoria going to look like Java in the next few years?
Will we need to read 30,000 pages of documentation and confusion just so we can say "I know how to program"?

I think that euphoria v4 is still every bit as easy to use as v3 was. In fact, some of the newer features make it easier to get up and started.

Some things are a little bit more complicated, such as the addition of scopes beyond global, but these really do make using euphoria simpler, as they are part of a large effort to make it easy to use 3rd party libraries without having to worry that naming conflicts will require the user to edit those libraries. And for the typical library user, almost nothing has changed. The library developer has some more powerful tools, however.

I think this forum is a great resource for new and experienced euphoria programmers alike. There are many people around with 10+ years of euphoria coding under their belts.

There are some significant enhancements to the language, but I really do think that once you try some of them out, you'll find that they really do make programming in euphoria a lot easier, and, yes, more fun. Some aspects of the language have addressed some areas of coding that offer a lot of convenience (like default values for routine parameters). And the new standard library delivers a ton of functionality right out of the gate.

Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: Programming and Martial Arts

Shian, It was not about quitting judo lessons, it was about finding a better teacher...
Quitting judo was your mistake.

Jacques

new topic     » goto parent     » topic index » view message » categorize

7. Re: Programming and Martial Arts

coconut said...

Shian, It was not about quitting judo lessons, it was about finding a better teacher...
Quitting judo was your mistake.

Jacques

I moved to Tae Kwon Do. So everything fixed.

Thank you.

new topic     » goto parent     » topic index » view message » categorize

8. Re: Programming and Martial Arts

jeremy said...

When you look at other languages and compare it to 3.1, you can see we have just raised the bar on the ability to compete with them or offer a viable alternative. 3.1 could have never competed with any modern language in terms of productivity. 3.1 may have competed with languages in the 1990s, but no further. Today GWBasic is no longer in use (at least normal use, I'm sure someone out there in some corner of the world still uses it). Why? It was fantastic back in its day but failed to move forward. As languages evolved and it became known that the ability to slice an array by a single character was common place in all applications and GWBasic did not offer such a thing while other languages did, GWBasic began its death. Euphoria (prior to 3.1) was in that state, dying and dying quickly.

One interesting thing about GWBasic and QuickBasic:

QuickBasic is not 1000 times better then GWBasic, it's just a little bit better. But QuickBasic 4.5 is so much popular until now, so many people likes it and using it (I love it too).

The question is why?
One answer:
QuickBasic had and still has an amazing IDE, Editor. Simple, Great Help with F1, very friendly - All-In-One!

It's the Editor it self that actually made QuickBasic 4.5 such a success until today. Not necessarily the language.

I wrote many applications in QuickBasic, some of them are still in use until now.
QuickBasic Editor/Interpreter/Compiler, this All-In-One editor made me so productive - that I succeeded where C programmers failed: giving a fast solutions to daily life's problems, in industry and other areas.

Again: the All-In-One very friendly editor was my choice - NOT the language.

Today the situation is terrible: so many languages, so complicated - and so bad editors.
Many editors are actually much more complicated then the language!
Other editors are "for general use"...,
Many editors are OR for total idiots OR for the most professional programmers,
Some editors are great - until you press F1... (F1, and good sensitive help is the real magic!).

I end up using notepad. The most basic version. If it wasn't funny - I would cry.

http://www.rapideuphoria.com/ say: "Just say NO to complicated programming languages!"
I say: "Just say NO NO NO to useless programming editors!"

Thank you, Shian.

new topic     » goto parent     » topic index » view message » categorize

9. Re: Programming and Martial Arts

I guess for me, I have to develop in multiple languages. The last thing I want is a language centric editor. What does that mean? I would have to learn Editor XYZ when programming in C, Editor ABC when programming in Euphoria, Editor 123 when editing HTML files, etc... Editors can be complex and I don't want to have to learn a new one for each language I use. An editor (to me) should have some common features/functions: Method navigation, Search/Replace, Block Indent/Unindent, Syntax Highlighting, Code Templates, Multiple File Support, Ability to define Language Centric Tools (F7 for example tests my current Euphoria file for syntax correctness or when editing a HTML file F7 tests for HTML correctness, ...). That's the bare bones I'd want for an editor (off the top of my head). Now, I use many advanced functions of my editor to make my job as a programmer much easier.

I think of a carpenter and his tools when it comes to programming. Sure, a house can be built with a hammer and a hand saw (notepad in my analogy). How much quicker would it go with a measuring tape, nail gun, table saw, scaffolding, crane for lifing roofing material, circular saw, laser levels, squares, protractors, etc... Of course that adds to the knowledge the carpenter must have but in the end the carpenter not only gets the job done sooner but better (i.e. a hand cut joint vs. jigged joint). This is the same with a well crafted editor. The job gets done sooner and indeed better (think indentation consistency, consistency with common templates, keyword expansion, etc...)

That's my 2 cents on the editor debate.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

10. Re: Programming and Martial Arts

jeremy said...

That's my 2 cents on the editor debate.

Jeremy

This is the whole point Jeremy!

Most people who ever going to use Euphoria are not like you. And they will never ever have your skills in programming!
When you create a language, a tool - create it for the users - not for your self only.

How many people have your skills? think about it. Most of us don't have even half of it.
We are good, bad, or best in totally different areas in life.

Once I wrote a control panel for some industrial machine, I spent weeks, covered with carbon black all over my body, just to realize what the workers have to go through in their daily job. I was sweating, my eyes were covered with dust, I could hardly see the monitor, the noise was terrible, - and most of all, a little mistake could cause an accident, even death of one of the workers.

Only then I started to write the control panel.
That control panel last until today, many years after.

Again, think about the one who's going to use your product. It can be just anyone.

Shian.

new topic     » goto parent     » topic index » view message » categorize

11. Re: Programming and Martial Arts

Shian_Lee said...
jeremy said...

That's my 2 cents on the editor debate.

Jeremy

This is the whole point Jeremy!

Most people who ever going to use Euphoria are not like you. And they will never ever have your skills in programming!
When you create a language, a tool - create it for the users - not for your self only.

How many people have your skills? think about it. Most of us don't have even half of it.
We are good, bad, or best in totally different areas in life.

Once I wrote a control panel for some industrial machine, I spent weeks, covered with carbon black all over my body, just to realize what the workers have to go through in their daily job. I was sweating, my eyes where covered with dust, I could hardly see the monitor, the noise was terrible, - and most of all, a little mistake could cause an accident, even death of one of the workers.

Only then I started to write the control panel.
That control panel last until today, many years after.

Again, think about the one who's going to use your product. It can be just anyone.

I don't have special skills. Others are far beyond me. I'm just an avg joe programmer. Learning the average editor would only take one weeks worth of investment and would provide a lifetime of productivity. To me it's a very good trade. If I could encourage other programmers to do one thing it would be learn a capable text editor. Don't build your house by tapping the nails in with a rock. Spend a bit of time and learn how to use a hammer and learn to use it well. There are many good ones out there just waiting for you to pickup and use for free.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

12. Re: Programming and Martial Arts

jeremy said...

If I could encourage other programmers to do one thing it would be learn a capable text editor. .....There are many good ones out there just waiting for you to pickup and use for free.

Jeremy

I still rely mostly on a combination of Notepad, Wordpad and even Microsoft Word! I miss the column highlighting of the old, old, old Wordstar. I make up the deficiency by juggling with tables creation and occasional use of Excel.

new topic     » goto parent     » topic index » view message » categorize

13. Re: Programming and Martial Arts

jeremy said...

I don't have special skills. Others are far beyond me. I'm just an avg joe programmer. Learning the average editor would only take one weeks worth of investment and would provide a lifetime of productivity. To me it's a very good trade. If I could encourage other programmers to do one thing it would be learn a capable text editor. Don't build your house by tapping the nails in with a rock. Spend a bit of time and learn how to use a hammer and learn to use it well. There are many good ones out there just waiting for you to pickup and use for free.

Jeremy

I guess that you are right.
You are a programmer, I'm not. So your word should be the last.
In the last 4 years I built tables and chairs (I'm 43)... with just a hammer and a hand-saw.

Thanks anyways for listening.

new topic     » goto parent     » topic index » view message » categorize

14. Re: Programming and Martial Arts

I don't really think it is in the best interest of anyone (beginner to xpert) to have things like a dedicated Euphoria editor. Especially one that tries to be 'helpful'.

There are two reasons.

1. What those editors "think" you want to do often is not what you really want to do, and sometimes do it the wrong way. Taking what they give you may mean incorporating some hard-to-find bug.

2. Let's face it, Euphoria is never going to be THE most common programming language, with thousands of Euphoria coding jobs available. Therefore, it behooves anyone interested in earning a living while programming to learn to use the most universally accepted tools for the job.

To put it another way, no matter how many tables and chairs you have built with a hammer and handsaw - I'm not going to hire you to build a house if you don't know how to use a nail gun and a skillsaw.

new topic     » goto parent     » topic index » view message » categorize

15. Re: Programming and Martial Arts

Shian_Lee said...

QuickBasic had and still has an amazing IDE, Editor. Simple, Great Help with F1, very friendly - All-In-One!

It's the Editor it self that actually made QuickBasic 4.5 such a success until today. Not necessarily the language.

I wrote many applications in QuickBasic, some of them are still in use until now.
QuickBasic Editor/Interpreter/Compiler, this All-In-One editor made me so productive - that I succeeded where C programmers failed: giving a fast solutions to daily life's problems, in industry and other areas.

Again: the All-In-One very friendly editor was my choice - NOT the language.

Today the situation is terrible: so many languages, so complicated - and so bad editors.
Many editors are actually much more complicated then the language!
Other editors are "for general use"...,
Many editors are OR for total idiots OR for the most professional programmers,
Some editors are great - until you press F1... (F1, and good sensitive help is the real magic!).

I end up using notepad. The most basic version. If it wasn't funny - I would cry.

http://www.rapideuphoria.com/ say: "Just say NO to complicated programming languages!"
I say: "Just say NO NO NO to useless programming editors!"

Thank you, Shian.

We are already working towards that path. (Well, not me personally, but other people are.)

http://scm.openeuphoria.org/hg/editors/file/db3fe3aca32e

Add native support for Euphoria to a number of editors.

In my mind, the great Euphoria editor shall always be Edita. http://edita.isgreat.org

new topic     » goto parent     » topic index » view message » categorize

16. Re: Programming and Martial Arts

irv said...

To put it another way, no matter how many tables and chairs you have built with a hammer and handsaw - I'm not going to hire you to build a house if you don't know how to use a nail gun and a skillsaw.

I think that you are right. totally.

It's funny how any conversation ends up at the same point: money.
Also Euphoria ends up a sequence with $ :).

Money is the reason why I left programming. Not because I was not good enough, some said that I was too good (truly).

I started to use a hammer and hand saw because I wanted to be free. Money is slavery.
While working with simple tools you learn how to appreciate simple things.
And this is how I found Euphoria. And this is why I appreciate Euphoria language so much.

If money is the reason for programming - then I guess that I'm in the wrong place!.

Happy new year.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu