How to learn a language that has very little coverage?
I recently came across the Kogut language, and was interested by it. However, the only website to gain information from is the sourceforge page that hosts the project. I had no idea how to even attempt to look at the language in more depth.
So what I'm asking is, has anyone here learnt a language that doesn't have the thousands of resources that Ruby, Python etc. have? What would be the best method to do s开发者_JAVA百科o?I think that steps to learn it will be next:
- Going through a reference documentation if it exists (in particular Kogut has one)
- Looking for examples/tutorials/forum posts/discussions/articles/etc
- Going through a source code (if opensource project)
- Requesting support from a developer
I think these methods could be:
- find the community discussing the language
- learn the languages that affected the lanugage you're learning:
Its semantics is most similar to Scheme or Dylan, but the syntax looks more like ML or Ruby.
The latter enables one to learn the other language and compare their facilities, differences etc.
When learning a new language, whether widely known or not, I've always found it helpful to decide exactly what I want to use it for. Then I pick a project in that realm and start coding in it. I go over whatever materials are available (spartan or not) and I check in with the community that's around it. The key is to immerse yourself in it to some degree so that you start to think in that language when you're in "The Zone".
For example, I learnt Dylan by writing a package to manage fleets and resources in an old war game called Starfire. I learnt Haskell by working on a bunch of little programs related to weather calculations. I learnt Erlang by writing scripts for managing a Debian mirror in it. That kind of stuff.
Of course you should probably check that your project is suited to the language. Don't decide to learn Ruby by writing high-performance optimizing compilers, for example. ;)
Practical applications: none. Time to learn it: 3-4 weekends. Expression on your co-workers faces when you show them the Kogut program your wrote: priceless.
Seriously, I would have thought your time could be better spent learning another language...
Edited by Author:
True, I may have been a little flippant in my answer I suppose, but it wasn't aimed at this specific language. I'm merely saying that if there is only a single source of information on that language, then personally, I think he should move along... The authors themselves describe it as an experimental language.
Then again - I'm coming at this from the "Does it make sense in terms of my career to look at this". If you're talking about looking at it from the point of view of intellectual curiousity, fill your boots!
My suggestions in this case would be:
- Identify the primitive data types, if any...
- Look at control structures.
- Investigate the various levels of scope - Functions, objects, classes etc.
- Find out what they mean by having done OO a "bit different"
- And finally, do something with it. Something small, inconsequential, but not necessarily trivial. The best way of learning most languages is to play with them...
No compaints with having been downvoted on this though - my original post was a little off... And there were comments explaining why - something I have found lacking occasionally when people feel the wrath...
精彩评论