1. Questions from a Beginner.

Hello,

I'll have to start with an apology: I'm 99/100ths newb. I haven't touched code since learning qbasic in grade 11, a program I didn't master. Now, I'd like to take the time to learn a language, mess around with it, and see where it takes me.

What I'd like to know is if you, the people who use Euphoria, would reccomend it for someone of my little experience, or if not, is there a language that caters more to beginners?

What are its limitations? What sort of applications would you not write with Eu?

And lastly, what do you like about it? What keeps you in this community?

On a sidenote, if I could kindly offer some early feedback, while all of the instruction and tutorials I've read so far offer an excellent explaination of the abstract concepts of how EU functions, none have really yet provided a practical and detailed tutorial of the steps you need to do to create an executable program. IMHO, the tutorials in the download package need to be revamped so that they are more understandable to first-time programmers.

new topic     » topic index » view message » categorize

2. Re: Questions from a Beginner.

rowrasaur said...

Hello,

Hi, glad to have you around. There are lots of helpful people around and plenty of useful tips and thought-provoking discussions.

rowrasaur said...

I'll have to start with an apology: I'm 99/100ths newb. I haven't touched code since learning qbasic in grade 11, a program I didn't master. Now, I'd like to take the time to learn a language, mess around with it, and see where it takes me.

Excellent! Don't be worried about asking 'noob' questions. We all have to start somewhere.

There are no silly questions even though there is sometimes sily answers. So jump in freely.

rowrasaur said...

What I'd like to know is if you, the people who use Euphoria, would reccomend it for someone of my little experience, or if not, is there a language that caters more to beginners?

Absolutely. It is a good learning language, as well as being serious enough for commercial applications, if that's your desire.

rowrasaur said...

What are its limitations? What sort of applications would you not write with Eu?

It not suitable for rendering real-time 3D animations, or anything that requires massive amounts of processing power. Euphoria is primarily an interpreter rather than a compiler. It converts your programs into a special format which is then run by an 'emulated' machine. This makes it easy to write a program that runs on different platforms without changing anything.

Compilers on the other hand, convert your program into machine language which is specific to one platform and computer architecture.

Even though interpreted programs run slower than compiled ones, the Euphoria interpreter is extremely fast - much faster than well known interpreters such as Ruby, Python, Perl, and Javascript.

However, Euphoria also comes with a tool that converts your program into the C programming language which can then be compiled to make it run even faster.

rowrasaur said...

And lastly, what do you like about it? What keeps you in this community?

One of its most defining features is the simple data type system in Euphoria. The 'sequence' is extremely versatile and simple. An 'object' can hold any sort of data you like. A 'sequence' is a variable length list of objects. There are only really two data types in Euphoria - numbers and lists. Numbers are divided into 'atoms', which can hold any type of number, and 'integers' which can only hold integers (surprise, surprise). The reason for the 'integer' type is that for certain things it can make programs run a lot faster, but the choice is up to you. That's it - the whole type Euphoria system.

Type Description Example
atom Any number. atom A = 3.4129
integer Only whole numbers. integer B = 42
sequence A list of objects. Each element in the list can be referenced by index and you can reference subsets of a sequence, called slices. sequence S = {1, 2, 9.8, { 5, 4} }
object Can hold any of the above. object X
X = 1
X=2.3
X={5,6}

In Euphoria, text is just a sequence of integers - one for each character. But to make it easier to write and read, you can use single characters in single quotes - 'q' - or whole text strings using double quotes - "Euphoria".

-- Sample 
sequence name = "Euphoria" 
puts(1, name) -- Write whole name to screen 
puts(1, name[2]) -- Write only the second character to screen 
puts(1, name[3 .. 5]) -- Write slice starting from 3rd character to 5th character inclusive. 
rowrasaur said...

On a sidenote, if I could kindly offer some early feedback, while all of the instruction and tutorials I've read so far offer an excellent explaination of the abstract concepts of how EU functions, none have really yet provided a practical and detailed tutorial of the steps you need to do to create an executable program. IMHO, the tutorials in the download package need to be revamped so that they are more understandable to first-time programmers.

Agreed, they do need improvement. We are in the process of preparing the next version of Euphoria for release, and we'd love help in improving the documentation. There are some improvements coming but more are welcome.

There is a project called 'Think Euphoria' being developed by a member of the OpenEuphoria team that will be available with v4. You can have a look at a draft of it (very incomplete).

Also, I can provide a step-by-step programming example if you'd like one.

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

3. Re: Questions from a Beginner.

Yes, there are some IMO really good online Tutorials:


A Beginners Guide To Euphoria, by suninyoureye@linuxmail.org , @
http://www.axyp43.dsl.pipex.com/abgte.html
and Jubilation, by cklester, Programming with Euphoria
http://www.usingeuphoria.com/books/jubilation/?entirebook
and EUIphoria, by cklester, Programming GUI Applications with Euphoria
http://www.usingeuphoria.com/books/guiphoria/?entirebook

I am chugging thru 'Beginners Guide' right now.
Also, I have turned these 3 online Tutorials into OffLine ones. So you can read them offline, and also on Kindle and iPod. I sent the offLine versions to the Authors, so maybe they will Post them somewhere online.

If someone could tell me: where can I Post these offline versions for Download, on this Forum, or elsewhere handy. Thanks!

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

4. Re: Questions from a Beginner.

Being in a similar position to rowrasaur, I'd like to echo the comments about making the tutorials more beginner-friendly. Can I also put in a request (I think I mentioned this before) for a tutorial specifically about producing an elementary program using the IDE. I like your IDE a lot, but getting at the information I need even for a simple program is like looking for a needle in a haystack.

I would say that, as a near-beginner and hobbyist, I'm finding Euphoria as a language easy to pick up. Even if I have to leave it for ages owing to lack of time, I don't come back to it and find I've forgotten what I learned before. I'm sure it'll meet all my needs. I'll never reach an advanced enough stage to know if it can meet everybody's needs, but it obviously doesn't meet Critic's. Every thread I've looked at so far on this forum seems to end in a lengthy argument with Critic, it's getting tedious. Don't you have any provisions for banning people from the forum so as to leave the forum free for those who just genuinely want to make the most of Euphoria?

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

5. Re: Questions from a Beginner.

cmr said...

Being in a similar position to rowrasaur, I'd like to echo the comments about making the tutorials more beginner-friendly. Can I also put in a request (I think I mentioned this before) for a tutorial specifically about producing an elementary program using the IDE. I like your IDE a lot, but getting at the information I need even for a simple program is like looking for a needle in a haystack.

Tutorials are difficult, because once someone gets past the "create a window with a button" stage, the programming language (any language) fades into insignificance. Dealing with Windows (or other GUI) becomes the primary focus, and even Microsoft (who built that haystack), with all its resources, doesn't provide much in the way of good tutorials. Same applies if you are using another GUI such as GTK.

The two things I've found useful?

1. Running programs which come with source code. If the program has a feature that I'd like, I can find out how it was implemented, and put that into my own code.

2. Asking specific questions. A very specific question will usually get several good answers. An unspecific question may get lots of different answers. They may all be correct answers, in their own way, but conflicting and confusing. If you had to ask the question, you may not yet have the skills to sort through the answers to find the one most appropriate for YOUR need.

said...

I'll never reach an advanced enough stage to know if it can meet everybody's needs, but it obviously doesn't meet Critic's. Every thread I've looked at so far on this forum seems to end in a lengthy argument with Critic, it's getting tedious. Don't you have any provisions for banning people from the forum so as to leave the forum free for those who just genuinely want to make the most of Euphoria?

Critic's only need is to draw attention to himself. In other words, a troll. He doesn't have any programming needs, because he doesn't do any programming.

I completely agree that there should be some way to prevent every topic from being hijacked. Some forums use a moderator, but it might be better to just create a separate area for off-topic posts (sometimes those can be interesting) and know-nothing posters (aka Critic). It's fun to bait them and watch as they make fools of themselves.

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

6. Re: Questions from a Beginner.

Thank you for your comments. Yes, obviously programming from a GUI point of view is a different ball game and the actual language isn't the sole consideration any more - that's why I think it would be helpful to have an introductory guide to bringing the two together. I'm amazed at what you can do with the IDE, it's very comprehensive so there's obviously going to be a lot of information to pack in - it's just finding the bits you're most likely to need in the early stages, for example the GUI equivalents of "print" and "puts", so you can get something simple up and running quickly. It's a psychological thing as much as anything, I suppose, and I admit I'm not the most patient type!

The language tutorials themselves are basically very good, it just needs to be made clear at the outset that (a) you need something like "atom a" and "a = getc(0)" to stop the console disappearing and (b) to get that to work you also need to put in "include get.e" at the beginning of the program.

Perhaps there could be a separate branch of the forum specifically for newbies so we can sift out the basic things more quickly and leave the technical arguments to the advanced people?

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

7. Re: Questions from a Beginner.

vmars said...

If someone could tell me: where can I Post these offline versions for Download, on this Forum, or elsewhere handy. Thanks!

If I understand this right (my native Language is not English) you are looking for some Webspace to put the downloads on. Maybe, I can offer some Webspace for this.

Please tell me how big there are and we can try it out.

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

8. Re: Questions from a Beginner.

Hey,

Thanks to whoever cleared the gargabe out of this thread.

Just a small question for anybody who can answer:

The short version is: how do I convert ascii text in a sequence to numerical atoms in a sequence?

Here's the long version

I'm trying to compare parts of two sequences.

An example of the first sequence would be something like {E,0,0}

The second would be something like { {70,0,0}, {69,0,0}, {68,0,0} }

I can't seem to get EU to recognize that sequence 1 is equal to the second sequence of sequence 2 (I thought it might see it as equal because the ascii code for "E" is 69)

So I'm assuming I need to convert the ascii value to an atom value. How do I do this?

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

9. Re: Questions from a Beginner.

rowrasaur said...

Hey,

Thanks to whoever cleared the gargabe out of this thread.

Just a small question for anybody who can answer:

The short version is: how do I convert ascii text in a sequence to numerical atoms in a sequence?

Here's the long version

I'm trying to compare parts of two sequences.

An example of the first sequence would be something like {E,0,0}

The second would be something like { {70,0,0}, {69,0,0}, {68,0,0} }

I can't seem to get EU to recognize that sequence 1 is equal to the second sequence of sequence 2 (I thought it might see it as equal because the ascii code for "E" is 69)

So I'm assuming I need to convert the ascii value to an atom value. How do I do this?

An example of the first sequence would be something like {E,0,0}

The second would be something like { {70,0,0}, {69,0,0}, {68,0,0} }

key="E" printf(1,"ascii=%d\n",{key})

First you must determine if the values should be converted or not. What about the 2 0s?

The best thing is to make sure your sequences have like values before you compare.

Don Cole

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

10. Re: Questions from a Beginner.

First of all, you cannot make a sequence {E,0,0}.

If you put single quotes around the 'E' then you can make a sequence, which is exactly the same as {69,0,0}

sequence s1,s2 
s1 = {'E',0,0} 
s2 = {{70,0,0},{69,0,0},{68,0,0}} 
 
if equal(s1,s2[2]) then 
        puts(1,"They are equal\n") 
else 
        puts(1,"They are not equal\n") 
end if 
new topic     » goto parent     » topic index » view message » categorize

11. Re: Questions from a Beginner.

perfect, thank you.

for the record, I did have the single quotation marks, but my if statement was wrong.

I thought the end had an "= 0" like this

"...if equal(s1,s2[2]) = 1 then..."

again, perfect, simple example, thanks

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

12. Re: Questions from a Beginner.

rowrasaur said...

perfect, thank you.

for the record, I did have the single quotation marks, but my if statement was wrong.

I thought the end had an "= 0" like this

"...if equal(s1,s2[2]) = 1 then..."

Yes, it is easy to get equal() and compare() confused.

if compare(x,y) = 0 then 

is the same as

if equal(x,y) then 
new topic     » goto parent     » topic index » view message » categorize

13. Re: Questions from a Beginner.

andi said...
vmars said...

If someone could tell me: where can I Post these offline versions for Download, on this Forum, or elsewhere handy. Thanks!

If I understand this right (my native Language is not English) you are looking for some Webspace to put the downloads on. Maybe, I can offer some Webspace for this.

Please tell me how big there are and we can try it out.

Gee thanks for the cleanup. I had given up on this hread.

A Beginners Guide To Euphoria, by suninyoureye@linuxmail.org , @

http://www.axyp43.dsl.pipex.com/abgte.html -Actually, this is already an OffLine Version = 530kb (just saveAs)

and Jubilation, by cklester, Programming with Euphoria

http://www.usingeuphoria.com/books/jubilation/?entirebook -OffLine Version = 25k .zip (inc graphics)

and EUIphoria, by cklester, GUIphoria-Programming-Part-I

http://www.usingeuphoria.com/books/guiphoria/?entirebook -OffLine Version = 86k .zip

and EUIphoria, by cklester, GUIphoria-Programming-Part-II

http://www.usingeuphoria.com/books/eugui/?entirebook -OffLine Version = 28k .zip

...Vern

btw: Will we soon have a track thread 'notify by email' option? Thanks

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

14. Re: Questions from a Beginner.

vmars said...
andi said...
vmars said...

If someone could tell me: where can I Post these offline versions for Download, on this Forum, or elsewhere handy. Thanks!

If I understand this right (my native Language is not English) you are looking for some Webspace to put the downloads on. Maybe, I can offer some Webspace for this.

Please tell me how big there are and we can try it out.

Gee thanks for the cleanup. I had given up on this hread.

A Beginners Guide To Euphoria, by suninyoureye@linuxmail.org , @

http://www.axyp43.dsl.pipex.com/abgte.html -Actually, this is already an OffLine Version = 530kb (just saveAs)

and Jubilation, by cklester, Programming with Euphoria

http://www.usingeuphoria.com/books/jubilation/?entirebook -OffLine Version = 25k .zip (inc graphics)

and EUIphoria, by cklester, GUIphoria-Programming-Part-I

http://www.usingeuphoria.com/books/guiphoria/?entirebook -OffLine Version = 86k .zip

and EUIphoria, by cklester, GUIphoria-Programming-Part-II

http://www.usingeuphoria.com/books/eugui/?entirebook -OffLine Version = 28k .zip

...Vern

btw: Will we soon have a track thread 'notify by email' option? Thanks

Hi

I missed a week or so....

http://www.indonesianet.de/eu/abgte.html

I put this there for download and viewing. I gonna put the rest of the books also there if you think this okay. Maybe i should create a little start-page...

Bye

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

15. Re: Questions from a Beginner.

said...

Hi

I missed a week or so....

http://www.indonesianet.de/eu/abgte.html

I put this there for download and viewing. I gonna put the rest of the books also there if you think this okay. Maybe i should create a little start-page...

Bye

Ok, how do you want me to pass these files to you, email, ftp . Thanks!

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

16. Re: Questions from a Beginner.

vmars said...

Ok, how do you want me to pass these files to you, email, ftp . Thanks!

You, can send them to andi(at)indonesianet(dot)de.

bye

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

Search



Quick Links

User menu

Not signed in.

Misc Menu