Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Want to learn Eiffel  (Read 1870 times)

janglur

  • Bay Watcher
  • +Blood Soup+
    • View Profile
Want to learn Eiffel
« on: April 05, 2010, 11:05:40 pm »

So i've decided to learn an object-oriented language, and after much research and discussion, i've decided to start with learning Eiffel, and later maybe C once i've got it down.

Now, as my first non-piddly language (been doing HTML for years, dabbled in Java), what would you reccomend as a good starting book for learning Eiffel?
Logged

Tyg13

  • Bay Watcher
  • And then I was bacon.
    • View Profile
Re: Want to learn Eiffel
« Reply #1 on: April 06, 2010, 11:03:17 pm »

Eiffel? Isn't that a bit on the unorthodox side? Eiffel's not one of the "major" programming languages, but I guess it's a step up from HTML.

I can't find any Eiffel books/tutorials anywhere, but I'd seriously consider learning something like Python or Ruby. I think that Eiffel's a little old to be considered anything but an esoteric programming language.
Logged

janglur

  • Bay Watcher
  • +Blood Soup+
    • View Profile
Re: Want to learn Eiffel
« Reply #2 on: April 06, 2010, 11:05:34 pm »

Thanks for the suggestion, but i've decided to go with Eiffel.
Logged

Muz

  • Bay Watcher
    • View Profile
Re: Want to learn Eiffel
« Reply #3 on: April 06, 2010, 11:16:28 pm »

I'd be surprised if anyone knows Eiffel here. You're more likely to find someone who can PASCAL or LOLCODE.
Logged
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.

Tyg13

  • Bay Watcher
  • And then I was bacon.
    • View Profile
Re: Want to learn Eiffel
« Reply #4 on: April 06, 2010, 11:21:05 pm »

Alright, fine. There are probably some Eiffel books out there, but odds are you might have to pay for one.

I found a book on Eiffel which is only 4 USD used, but from 1995. I also found a cheaper book, from 1997, but only 2 USD instead.

However, if you are unable/unwilling to drop a few dollars on an Eiffel book, I cannot find any online sources.
Logged

janglur

  • Bay Watcher
  • +Blood Soup+
    • View Profile
Re: Want to learn Eiffel
« Reply #5 on: April 06, 2010, 11:22:13 pm »

I had intended on buying one, I was just asking around for a good one.
Logged

Tyg13

  • Bay Watcher
  • And then I was bacon.
    • View Profile
Re: Want to learn Eiffel
« Reply #6 on: April 06, 2010, 11:24:47 pm »

I was only able to find those books, but I'm afraid that I haven't read any of them. You'd probably be hard-pressed to find someone on Bay12 forums who's familiar with Eiffel, so you'll probably have to put your faith in Amazon.  :)
Logged

Muz

  • Bay Watcher
    • View Profile
Re: Want to learn Eiffel
« Reply #7 on: April 06, 2010, 11:26:08 pm »

And the reviews. They suggest that the first book Tyg13 recommended isn't good for beginners :P
Logged
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.

psyn

  • Bay Watcher
    • View Profile
Re: Want to learn Eiffel
« Reply #8 on: April 07, 2010, 12:06:28 am »

Did you consider Ocaml, Oz, F#, or D? Eiffel is displaced by Haskell, Java, and C++ in academia/real world. Wrong forum to ask about Eiffel, TBH. Try Stackoverflow, or Digg.
Logged

Blacken

  • Bay Watcher
  • Orange Polar Bear
    • View Profile
Re: Want to learn Eiffel
« Reply #9 on: April 07, 2010, 11:21:36 am »

Eiffel? Isn't that a bit on the unorthodox side? Eiffel's not one of the "major" programming languages, but I guess it's a step up from HTML.

I can't find any Eiffel books/tutorials anywhere, but I'd seriously consider learning something like Python or Ruby. I think that Eiffel's a little old to be considered anything but an esoteric programming language.
Eiffel isn't old. It's been replaced most places by ML and Haskell, but it's used in some fairly large shops. It's certainly niche, but there's nothing odd about it.

(Not that I'd suggest spending much time learning Eiffel early. Hitching onto a language without having a solid reason--and if you aren't already competent enough to learn it on your own, you cannot formulate a solid reason to do so. Eiffel has largely been replaced by various ML knockoffs and Haskell, and other modern languages have pulled most of the useful features out of it--C#, Python, and so on.

Any would be a smarter, better choice than Eiffel. Also, seriously, D is not a smart recommendation. It makes Eiffel look mainstream.)
Logged
"There's vermin fish, which fisherdwarves catch, and animal fish, which catch fisherdwarves." - Flame11235

psyn

  • Bay Watcher
    • View Profile
Re: Want to learn Eiffel
« Reply #10 on: April 07, 2010, 01:36:35 pm »

I inferred he wanted a statically typed language. D isn't as uncommon as you think. It isn't used much, but most C++ programmers are familiar with it. D is worthy of consideration if performance is of utmost concern, but spending four to ten years learning the intricacies of C++ is unrealistic. C or C# (if available) is usually better in that circumstance. For newer (widely used) performant languages, check out Scala or, very recently, Go.
Logged

Blacken

  • Bay Watcher
  • Orange Polar Bear
    • View Profile
Re: Want to learn Eiffel
« Reply #11 on: April 07, 2010, 06:02:25 pm »

I inferred he wanted a statically typed language. D isn't as uncommon as you think. It isn't used much, but most C++ programmers are familiar with it.
I don't mean to start a dick-measuring contest, but I've been doing this stuff for a decently long time, and most people who do know about D (and it's a small minority of C++ programmers who've ever heard of it, in my experience) know it as "that wannabe piece of crap by that asshole" (Walter Bright is almost universally known as a douchebag, which has no doubt hampered further development of D). Bad libraries, bad runtimes, poor optimizing compiler, poor IDE support. Phobos is poorly designed, too. Don't get me wrong, I'd like something that sucked less than C++, but D isn't really it.

Quote
D is worthy of consideration if performance is of utmost concern, but spending four to ten years learning the intricacies of C++ is unrealistic. C or C# (if available) is usually better in that circumstance.
Nobody should use C except in situations where it is absolutely required; it is far too easy to write insecure and potentially damaging code. C++ is a pain in the ass, but at least with mechanisms such as Boost's auto_ptr and the STL you are less likely to be a danger to your users.

C# is superior to all of the above for all but the most performance-intensive tasks.
« Last Edit: April 07, 2010, 06:03:58 pm by Blacken »
Logged
"There's vermin fish, which fisherdwarves catch, and animal fish, which catch fisherdwarves." - Flame11235

janglur

  • Bay Watcher
  • +Blood Soup+
    • View Profile
Re: Want to learn Eiffel
« Reply #12 on: April 07, 2010, 06:50:51 pm »

Wow, nice to see I got people into an argument over what language to suggest for me that I didn't ask about.

Way to go, guys.
Logged

Blacken

  • Bay Watcher
  • Orange Polar Bear
    • View Profile
Re: Want to learn Eiffel
« Reply #13 on: April 07, 2010, 07:18:18 pm »

Apparently there's nobody here using it who wants to talk about it. For obvious reasons. If you want niche languages, StackOverflow is where you should be asking. (You'll probably get similar results.)
Logged
"There's vermin fish, which fisherdwarves catch, and animal fish, which catch fisherdwarves." - Flame11235

psyn

  • Bay Watcher
    • View Profile
Re: Want to learn Eiffel
« Reply #14 on: April 08, 2010, 07:28:21 am »

I was writing of enthusiast and professional C++ programmers, not hobbiests. No, most OSS C++ programmers have not heard of D. People involved in research, graphics, scenes, games, or those with a driving interest in C++ know of D, and many would [have] like(d) to see it succeed. D is already the better language -- all that is missing is tool support and third-party libraries, and a stable D2 release. Runtime issues are overstated: for D1 use Tango (and Tangobos); for D2, druntime was made. I cannot vouch for D performance because I do not use it, but we have used D inhouse for prototyping (demos) and intermediate (temporary language bindings) purposes. Performance was never a raised issue. D is far from dead, just look at the mailing lists. Alexandrescu (of C++/Boost/Loki/STL 'ranges' fame) supports it and published a book last June.

I think we have a large misunderstanding. I am not advocating D, or C for that matter. D is not currently enticing to new programmers. It is ready for the experienced however, those working daily with languages like C++, and to be studied for modern programming concepts (generic programming, DbC) or those interested in systems programming. Ocaml, Oz, F#, Haskell, Erlang, Scala, Smalltalk, and Clojure should all be studied for the same reason. D's future isn't of importance; its relevance is. I lost the notion D would succeed when C++0x excitement became widespread. Programming houses will wait for 0x to hit before considering porting their entire codebases to an unproven language.

C still has its uses in writing tightly coupled, critical functions for binding to higher-level languages. C# isn't as slow as you might think. Notably, Singularity (MS' new OS concept) is written in C#, Unity3D engine uses C# for scripting, and more than a few games are written in C#. C# speed is rarely a concern for anyone but researchers. Except, C# is not perfect. Interoping with lots of unmanaged code is torture. DirectX requires the use of a third-party API, SlimDX, and Mono still has many issues, particularly WinForms, and XNA (the way forward) is not supported at all. C# is also reviled by OSS zealots, but for unrelated reasons.

... C++ is a pain in the ass, but at least with mechanisms such as Boost's auto_ptr and the STL you are less likely to be a danger to your users.
Did you mean boost::shared_ptr? std::auto_ptr is part of the SC++L, not the STL, and std::auto_ptr is not a panacea. And reference counting in C is not unheard of. Even the Linux kernel does it.

P.S.: I meant to type Reddit earlier, not Digg. Dunno how I confused those. Digg is... ugh.
Logged
Pages: [1] 2