Everything Else

Learning a new progamming language... - Page 1

Of course, any Turing-complete language is theoretically exactly as powerful as any other Turing-complete language and, therefore, could be theoretically used as a general-purpose programming language - although some Turing-complete languages are simply too tedious for anything practical [viz. Unlambda - what a beauty!] Actually, combinatory logic [S, K] itself is sufficient for almost all of here as well...

Anyway, I trust everyone on here is fluent in C/C++ [the current lingua franca of programming?] Now, should you desire to pick up a new programming language - what would it be? I myself am reasonable familiar with Prolog, Common Lisp and APL [AFAIK, the first language which used the fold operator]. I'd like to learn Haskell. How about you?

_________________
All gay cyclists ought to take snuff
I've been tinkering with the idea of Objective C as I want to do something with modern macs, but I consider it an abortion of a language and a cruel joke on the world.

_________________
:Indy: :Indigo2IMP: :Octane: :Indy: 4xRS6K 2xHP9K 6xSUN 1xDEC 14xMAC 7xPC 2xPS2
porter wrote:
I've been tinkering with the idea of Objective C as I want to do something with modern macs, but I consider it an abortion of a language and a cruel joke on the world.


Actually, when I started learning it, I loved parts of it and hated other parts of it. Objective-C 2.0 is much better.
The really tricky thing in iPhone or Mac programming is the UI builder and setting the selectors/delegates thing.
UI builder has been getting better over the releases but ask any Mac developer how learning UI builder was.
There were object-orientated aspects of Objective-C that I actually liked, late binding, etc. I still think in C++ and translate but some features are kinda nicer than C++. WIth GCC you can even write Objective-C on IRIX. You can not mix Objective-C and C++ classes such as inherit from each other. I like this book for the core language but I have the 2nd ed: http://www.amazon.com/Programming-Objec ... 853&sr=8-1

Oskar45 wrote:
Anyway, I trust everyone on here is fluent in C/C++ [the current lingua franca of programming?] Now, should you desire to pick up a new programming language - what would it be? I myself am reasonable familiar with Prolog, Common Lisp and APL [AFAIK, the first language which used the fold operator]. I'd like to learn Haskell. How about you?


I did gofer and Haskell at university. Never used it in anger. I've been doing C++ work fairly consistently since 1996. The university text book was the first edition of http://www.amazon.com/Haskell-Functiona ... 722&sr=1-1

Java is number one and I loathe and despise it ... "Java is the worst thing to happen to computing since MS-DOS" wrote a famous industry commentator. I tend to agree but it is everywhere. You want to do Hadoop stuff.. You need some basic Java skills. You want to do Shindig stuff you need PHP or Java skills.

I don't program much for fun anymore as most of my time is taken up with work related coding. I don't learn a new language, I get handed bugs and then work out what language the offending code is written in. "That is in ruby, I've never written ruby before". "Just fix it". "Oh I've been running it through the rdb debugger and look at these values at this line of code" and so on..

Based on this page: http://www.tiobe.com/index.php/content/ ... index.html
Current rankings are something like:
Code:
1         Java
2         C
3         C++
4         C#
5         PHP
6         Objective-C
7         (Visual) Basic
8         Python
9         JavaScript
10         Perl
11         Ruby
12         PL/SQL
13         Lisp
14         Pascal
15         MATLAB
16         Delphi/Object Pascal
17         ABAP
18         Lua
19         Ada
20         RPG (OS/400)


I would tend to use 2, 3,5, 6, 8, 10, 11, 12. 1 or 4 if I really had to.. I have never ever done any work in 17 or 18. Dr Wife used 15, but I am not real familiar with it, beyond helping her.

Oskar, I think you would find ruby interesting but not as intellectually stimulating as say gofer or hugs...
I think gofer, hugs or scheme did compile for IRIX but I've not looked at it in a long time.

R.

_________________
死の神はりんごだけ食べる

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1. Tandem Himalaya S-Series Nonstop S72000 ServerNet.

Sold: :Indy: :Indy: :Indy: :Indigo:

Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
porter wrote:
I've been tinkering with the idea of Objective C as I want to do something with modern macs, but I consider it an abortion of a language and a cruel joke on the world.


Huh?

It is a proper superset of C, and does object orientation via message passing (how Alan Kay intended it). It is ridiculously simple to pick up if one is moderately proficient in C, IMHO. I learned it concurrently with C++ (NeXTStep was used by my uni to teach some undergrad classes), and Objective C was definitively easier to grasp and master.


My brain still thinks better in functional languages, though, so I always end up back to lisp every now and then, I have been looking into clojure recently. I really like Python for quick prototyping of ideas and to move away from Matlab. For wasting time having fun and experimenting, I really enjoy processing ( http://processing.org/ ).


I have worked with some groups doing research on sketch programing, that I feel may be a future direction for programming languages: provide the input and output definitions, define some constraints and expected behaviors for the algorithm, and let the "compiler" figure out the rest. It is the XXI century...

_________________
"Was it a dream where you see yourself standing in sort of sun-god robes on a
pyramid with thousand naked women screaming and throwing little pickles at you?"
R-ten-K wrote:
Huh?


Perhaps my dig is more at Apple than Objective C as a language in itself. Making Objective C my-way-or-the-highway. As a curiosity it's fine, as mandatory it's reason to have no enthusiam for macs anymore.

I must admit I am bemused at the rants at Java. The sites I've looked up can come up with pages of apparent evidence and I'm left with is that all you have? If you recognize it for what it is, a very portable and managed environment for OO. I loose no sleep over lack of operator overloading.
Admittedly my main focus is on the server with J2EE systems, and it is close to ideal. It just does it's job.

Is there anyone here who has programmed a Smartcard Applet in PHP or Python?

_________________
:Indy: :Indigo2IMP: :Octane: :Indy: 4xRS6K 2xHP9K 6xSUN 1xDEC 14xMAC 7xPC 2xPS2
porter wrote:
I must admit I am bemused at the rants at Java. The sites I've looked up can come up with pages of apparent evidence and I'm left with is that all you have? If you recognize it for what it is, a very portable and managed environment for OO. I loose no sleep over lack of operator overloading.
Admittedly my main focus is on the server with J2EE systems, and it is close to ideal. It just does it's job.

Is there anyone here who has programmed a Smartcard Applet in PHP or Python?



We used to blow up JVMs all the time. Don't get me started on Azul Systems Zing rubbish, I'll just go apoplectic. I really don't like Java.

R.

_________________
死の神はりんごだけ食べる

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1. Tandem Himalaya S-Series Nonstop S72000 ServerNet.

Sold: :Indy: :Indy: :Indy: :Indigo:

Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
porter wrote:
R-ten-K wrote:
Huh?


Perhaps my dig is more at Apple than Objective C as a language in itself. Making Objective C my-way-or-the-highway. As a curiosity it's fine, as mandatory it's reason to have no enthusiam for macs anymore.



You can still code in C++ if you fancy, you probably will have to use wrappers to access the nice stuff in cocoa (and part of the reason why it is so nice is due to Objective-C IMO).

But seriously, Objective-C really is not that hard to pick up if you're proficient with C. Perhaps it may be my EE background, but thinking in terms of message passing seemed a more natural approach to imperative programming. Give it a week.

_________________
"Was it a dream where you see yourself standing in sort of sun-god robes on a
pyramid with thousand naked women screaming and throwing little pickles at you?"
I originally started with a little bit of QuickBasic, and later some Pascal/Delphi, but really got fluent in programming with Java during university (Java is the lingua franca in education today), which is also what I'm using at work. I also grasped some knowledge in C++, but it really feels like shifting down a gear in my mind :D

Anyway, if I had to pick a new language to learn, it would definately be dependent upon what I would do with it...there is little sense learning Modula-3 if you were to do serverside-webprogramming. There is little sense in learning LISP if you were to do performance-critical programming. There is little sense in learning an interpreted (incl. JITed) language if you were to do low-level programming.
I second the ruby recommendation. Not only is it a powerful and elegant language, but it turns out it's in demand professionally as well. My company can't find enough qualified ruby on rails software engineers to hire! I started playing with ruby and rails a few years ago as a hobby, but these days I find it incredibly useful for everything from web apps to deployment automation because of the gem ecosystem and uptake in various open source projects (Chef, Radiant, Sphinx, Rspec, etc.). Sure, I still program in C and Bash when it makes sense, but I am generally more productive in ruby.

_________________
:A350R: :Onyx2: :4D220VGX: :Fuel: :Indigo: :Octane2: :O2: :O3x0: :Indy:
i learned a few languages before i abased myself before the gods of mediocrity, at pulpit of imperative languages, in the tabernacle of C. you might take a cotton to them: Forth, APL, Prolog, etc... none of them were as intoxicating as Verilog which got the fuck out of the way and let me fiddle the god damned bits themselves. of course, unless you actually have hardware to go along with your HDL then it's just more hi-tech masturbation; i've, been given to understand that's quite popular these days!

_________________
:Skywriter:

DECUS Member 368596
COBOL. Yup, there's ten people who use it.

And they all make big bucks.
R-ten-K wrote:
My brain still thinks better in functional languages, though, so I always end up back to lisp every now and then
Except, of course, that Lisp is *not* a functional language at all. <defun> only creates an instance callable by <funcall> [a procedure]. Procedures are not functions.
R-ten-K wrote:
I have worked with some groups doing research on sketch programing, that I feel may be a future direction for programming languages: provide the input and output definitions, define some constraints and expected behaviors for the algorithm, and let the "compiler" figure out the rest. It is the XXI century...
Automatic program construction techniques are certainly not new to the XXI century.

_________________
All gay cyclists ought to take snuff
PymbleSoftware wrote:
I think gofer, hugs or scheme did compile for IRIX but I've not looked at it in a long time.

R.
Yes, I compiled Hugs and Scheme under Irix with no problems at all.

_________________
All gay cyclists ought to take snuff
My first programming language was BASIC. Then Pascal, Z80 assembly and C. Objective-C is next.
hamei wrote:
COBOL. Yup, there's ten people who use it.

And they all make big bucks.
Hi there!

.tsooJ

_________________
:Crimson: :Crimson: :O2000: :540: :1600SW: :1600SW: :320: :320: :Indigo: :Indigo: :O2: :O2: :Indy: :Indy: :Indy:
Based on its small physical dimensions and quiet operation, the chassis fits into a normal office environment.
— Crimson Owner's Guide
Oskar45 wrote:
R-ten-K wrote:
My brain still thinks better in functional languages, though, so I always end up back to lisp every now and then
Except, of course, that Lisp is *not* a functional language at all. <defun> only creates an instance callable by <funcall> [a procedure]. Procedures are not functions.


So what? I can still write code in LISP where I don't have to have assignments, values can be unmodifiable/immutable, etc.

Oskar45 wrote:
R-ten-K wrote:
I have worked with some groups doing research on sketch programing, that I feel may be a future direction for programming languages: provide the input and output definitions, define some constraints and expected behaviors for the algorithm, and let the "compiler" figure out the rest. It is the XXI century...
Automatic program construction techniques are certainly not new to the XXI century.


Where did I say they were?

I guess Hamei was right after all.

Cheers.

_________________
"Was it a dream where you see yourself standing in sort of sun-god robes on a
pyramid with thousand naked women screaming and throwing little pickles at you?"
oh good, another argument concerning the minute semantics of the meaning of words using a poorly shared language. can't wait!

_________________
:Skywriter:

DECUS Member 368596
skywriter wrote:
oh good, another argument concerning the minute semantics of the meaning of words using a poorly shared language. can't wait!



We aim to please you...

_________________
"Was it a dream where you see yourself standing in sort of sun-god robes on a
pyramid with thousand naked women screaming and throwing little pickles at you?"
skywriter wrote:
a poorly shared language!
WHAT exactly are you referring to?

_________________
All gay cyclists ought to take snuff
Oskar45 wrote:
skywriter wrote:
a poorly shared language!
WHAT exactly are you referring to?


English?


R.

_________________
死の神はりんごだけ食べる

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1. Tandem Himalaya S-Series Nonstop S72000 ServerNet.

Sold: :Indy: :Indy: :Indy: :Indigo:

Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
PymbleSoftware wrote:
Oskar45 wrote:
skywriter wrote:
a poorly shared language!
WHAT exactly are you referring to?


English?

R.


quite so.

note that what i said didn't refer to anyone in particular, only people taken pair-wise.

_________________
:Skywriter:

DECUS Member 368596