Learning A New Language

I have know and use C, Java, and Python, as well a knowledge in a *ton* of other languages, but I am trying to learn a new language. Despite any opposition I will get, these are the languages I'm thinking about:

Ada
Pascal
Go
Haskell

I have prepared my personal pros and cons for each.

Ada

PROS:
  Like The Language
  Gnat Programming Studio Is Nice
CONS:
  Hate The Type System
  Plenty Of Docs On The Language, But Not The GNAT Runtime
  No Ada Forum :(


Pascal

PROS:
  I Like Freepascal/Lazarus
  Easy To Learn
  Good Amount OF Documentation
CONS:
  Flat Out Boring


Go

PROS:
  Like The Philosophy
  Could Become A Great Language 
CONS:
  No IDE's 
  Weird Syntax
  No Standard GUI API


Haskell

PROS:
  Need To Learn A Functional Language Other Than Scala
  Like The Lang :)
CONS:
  Few IDE's 
  Functional Lang's Are Weird To Me


So I was wondering If I could get some feedback from the community on these languages, and which to learn.
I'd go with Go. If you want some nice practice with it, contribute to the Lime project on github. It's a work in progress of a Sublime Text clone, but it's open source obviously.
Go for Go. Let me know enjoyable the duck typing is :)
Write an IDE for Go... In Go!
Does Go even have graphical support yet? The only reason I haven't looked into it more is because I couldn't find a simple way to draw graphics into a window in Go. I'm sure you can interface with C libraries and such in Go, but that's beside the point.
http://godoc.org/code.google.com/p/graphics-go/graphics
http://blog.golang.org/go-imagedraw-package

It's had graphics support for quite a while now.

This also might help with checking out what it supports and doesn't for now
http://golang.org/pkg/
Last edited on
So i'm convinced. Can I use pointers in Go to point to memory address's. How up to date is the Go-GTK package. How do you suggest I go forth to start learning the language.

p.s.
@L B, Apparently go can only interface with certain C compilers. http://golang.org/doc/faq#Do_Go_programs_link_with_Cpp_programs

@Mats, Just how easy would that be?
Last edited on
@ James: Yeah there are pointers in Go. Different people have different ways of learning a language. When I learn a new language, I see how the things that I know in the languages I know are done in the new language. BTW Go is kinda similar to C so it wouldn't be much trouble learning it (once you get used to its weird syntax that is).
Last edited on
So, would it be suitable for OS development if built into a cross compiler
C/C++ with assembly is usually recommended for OS Dev. You'll see that almost all kernels and OS are written in C/C++ + Assembly. But I don't think you'd have a problem writing an OS with Go.
closed account (N36fSL3A)
Your best option would to avoid C++ and just use C and Assembly for OS Dev.

It's best to avoid working with advanced C++ features when you're that low.
The issue is not "advanced C++ features" but rather the binary incompatibility between different C++ implementations.
Topic archived. No new replies allowed.