1. (rant) Yet another intro page suggestion

Imagine

Imagine .. you start with some computer programming language, lots to choose from just pick one, then you wonder if you could:

  • remove complex and tricky
    give me simple, please give me simplicity
  • remove hard to learn
    give me small, simple, easy to learn
  • remove unneeded data-types
    give me atom and sequence
  • remove limiting functions and methods
    give me naturally generic functions
  • remove special formatting rules
    give me freeform editing
  • remove zero-based indexing
    give me start with one indexing
  • remove unpleasant (surprising) behaviour
    give me predictable actions
  • remove OOP overhread
    give me simplicity and performance
  • remove conflicts between development and distribution
    give me both interpreter and compiler choices
  • remove slow execution
    give me the fastest interpreter
  • remove annoying language flaws
    give me a Friendly, Flexible, and Fast language

You have just invented OpenEuphoria and Phix!




_tom

new topic     » topic index » view message » categorize

2. Re: (rant) Yet another intro page suggestion

_tom said...

give me simple, please give me simplicity

_tom said...

give me small, simple, easy to learn

_tom said...

give me simplicity and performance

Too many "simple" and "simplicity",
it seems to be... blink

Regards


kinz

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

3. Re: (rant) Yet another intro page suggestion

Euphoria is simple and easy to use. Programming is hard, and no programming language will solve that problem.

So, if you attract people who are looking for "simple and easy", you are going to have an inordinate number of people who complain that "it's too hard!", but don't know enough to blame themselves for failing to grasp the fact that programming isn't easy.

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

4. Re: (rant) Yet another intro page suggestion

irv said...

Euphoria is simple and easy to use. Programming is hard, and no programming language will solve that problem.

So, if you attract people who are looking for "simple and easy", you are going to have an inordinate number of people who complain that "it's too hard!", but don't know enough to blame themselves for failing to grasp the fact that programming isn't easy.

I don't want to derail the conversation too much, but this is my problem with the recent trend of "Learn to Code" -- learning the code doesn't help if one does not grasp the fundamental concepts required and the relevant experience to apply the appropriate concepts.

-Greg

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

5. Re: (rant) Yet another intro page suggestion

It's not just programming... if you check other forums, such as home repairs or electronics, you may be discouraged to find that many people asking for help are completely unable to describe what they want to do in enough detail that anyone could possibly be expected to provide an answer.

Back on topic, most languages allow you to do the simple things with ease - "hello world", for example.

Perhaps it would be better to point out how Euphoria allows you to do more-complex things with less sweat and fewer surprises than other languages.

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

6. Re: (rant) Yet another intro page suggestion

Thank you Igor, my first draft of anything is not not impressive. The use of "simple" is as bad as "the the" which becomes invisible before one starts critical editing.

I've been struck on page one of the documentation for many years now...

I'm convinced that OE{PHix is perfect for a beginning programmer. But, a beginner is not going to fully understand "simple" "smaller" "less traps" and so on, because that only becomes clear if you compare OE{Phix with another language. In my case I was looking for a replacement for my previous seven languages (that just means I feel old) and I'm not even a programmer. Euphoria is for experts who can appreciate elegance in language design. Or, Euphoria is for lazy programmers who no longer put up with silly languages. Or, Euphoria is for the lucky beginner who skips ahead.

Greg. That "Learn to Code" site is intimidating. I fear that the masses that learn to code will never have the curiosity to learn Euphoria programing.

Irv. Looking at some Python code I am at a loss how one can keep a poker face when you try to explain to a beginner (or to me):

Let's try to change 'Henny' to 'Penny' and see what 
happens: 
 
>>> name = 'Henny' 
>>> name[0] = 'P' 
  
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
TypeError: 'str' object does not support item assignment 
 
Instead you need to use some combination of string functions such as replace() or a 
slice (which you'll see in a moment): 
 
>>> name = 'Henny' 
>>> name.replace('H', 'P') 
'Penny' 
>>> 'P' + name[1:] 
'Penny' 
 
Slice with [ start : end : step ] 
 
You can extract a substring (a part of a string) from a string by using a slice. You define 
a slice by using square brackets, a start offset, an end offset, and an optional step size. 

Taken from:

Introducing Python 
by Bill Lubanovic 
Copyright © 2015 Bill Lubanovic. All rights reserved. 

Python dominates as a beginners language.

How can you compete with a real programing example (that saves sweat and provides fewer surprises) when Python gives you a gem like this?

_tom

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

7. Re: (rant) Yet another intro page suggestion

We can help. Learning is work, programming is hard work, and delivering apps is tough work. There are two languages, OpenEuphoria and Phix, that make work easier.

Imagine a programing language as agile and quick as a sports car. How did they build that Lotus? Simplify, add lightness, and--if all else fails--use great nails. Simplify. Get two core data-types to do the work: atom and sequence. Get a writeable and readable freeform syntax. Lightness. Get operators and functions to work the same even with mixed numbers and text. Use Great nails. You still get 'C' interfacing, regex, libraries, and attention to detail. The language is now agile and quick; you can both interpret and compile, and yes run faster. Like a sports car--you can do those complex things with less sweat and fewer surprises than with other languages.

OpenEuphoria and Phix, the languages you will want to program in.


_tom

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

8. Re: (rant) Yet another intro page suggestion

That's pretty good.

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

9. Re: (rant) Yet another intro page suggestion

_tom said...

Let's try to change 'Henny' to 'Penny' and see what 
happens: 
 
>>> name = 'Henny' 
>>> name[0] = 'P' 
  
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
TypeError: 'str' object does not support item assignment 

I know nothing about Python but couldn't the 'str' class be updated to include element assignment? It seems ridculous that it is not available at the fundamental level.

EDIT:

>>> b = bytearray('abc0efg') 
>>> b[3] = 'd' 
 
>>> 'abcdefg' 

Apparently in Python strings are "inmutable" [whatever that means..] but bytearrays are not..

Spock

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

10. Re: (rant) Yet another intro page suggestion

Spock said...

Apparently in Python strings are "inmutable" [whatever that means..] but bytearrays are not..

Spock

That's always bugged me about Python - managing and changing text is one of the most frequent jobs you want to do with a computer. Why make it hard?

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

Search



Quick Links

User menu

Not signed in.

Misc Menu