You are not logged in.

#1 2006-04-03 02:12:07

tompouceuh
Member
Registered: 2006-03-22
Posts: 30

which!?

Hi,
I want to start coding my own apps, but now I'm asking you which language would be the best/easy/quickest to learn to do apps with frontend (and which toolkit too)?

I've already coded things in c,php, things like that, but now I want to make something good out of it. Could you help me? smile


Thanks a lot!

Offline

#2 2006-04-03 03:34:10

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: which!?

I love Python + PyGTK, personally. You're going to get a lot of suggestions. I'd suggest up front you try each one and see how it makes you feel as you code. If you get the 'this isn't fun' feeling it's the wrong language for you.

Dusty

Offline

#3 2006-04-03 04:00:48

stonecrest
Member
From: Boulder
Registered: 2005-01-22
Posts: 1,190

Re: which!?

I was in the same position and started with PyGTK a few weeks ago. It's been quite fast getting my app up and off the ground. I also looked at RubyGTK (or whatever it's called) and, while it may be nice, the documentation is quite poor. PyGTK's documentation isn't stellar but it's much better.


I am a gated community.

Offline

#4 2006-04-03 07:32:36

postlogic
Member
Registered: 2005-02-24
Posts: 410
Website

Re: which!?

Python and PyGTK is very nice, I agree. Python is not very hard to learn either, and while people are saying PyGTK is harder to use than some other toolkits with Python bindings out there, it's still not a very steep learning curve.

Offline

#5 2006-04-03 15:25:41

cmp
Member
Registered: 2005-01-03
Posts: 350

Re: which!?

I'll also vote for python. While I'm not doing any gui stuff, I got to say python is a great language, especially for quick prototyping - it's so easy to get some decent stuff running in such a short time (compared to c/c++, my former language of choice).

Offline

#6 2006-04-03 16:03:50

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: which!?

python is the simplest to learn, but I must harp on the point I have to make all the time:  If you are serious about this stuff, you need to understand that a language is a tool - each job has a 'right' tool.

I still prefer C++, as I guarantee that any non-GUI code can be reproduced in C++ in about the same LOC (something pythoneers harp on "omg it's like 10 lines!"), but again it's much harder to write gui apps in C++.

Offline

#7 2006-04-04 09:02:15

arooaroo
Member
From: London, UK
Registered: 2005-01-13
Posts: 1,268
Website

Re: which!?

Can't argue with the Python recommendations. I use it every day and it's great stuff. I will start dabbling in Ruby soon, but Python's been around for a while and it has a lot of support/docs/examples/etc.

Offline

#8 2006-04-04 20:16:38

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: which!?

I would look at it a bit differently.
First ask yourself what kind of things you want to be programming. Then pick the language that best fits this.
A language is a tool, and after you learn a first one or two, it gets easier to pick up new ones (much like spoken languages I am told).

Generally though, I recommend Ruby, Python, or C, as first languages.


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#9 2006-04-04 21:35:56

jaboua
Member
Registered: 2005-11-05
Posts: 634

Re: which!?

I like python + pygtk too - I didn't do much with pygtk, but I liked it. Python had a simple and clean syntax that is easy to learn, and everything is easy - and if you want to load some C and bash as well in your python app, no problem.

Offline

#10 2006-04-05 15:59:47

Benol
Member
From: Warsaw, Poland
Registered: 2006-03-20
Posts: 28

Re: which!?

Python has the advantage of large community. It's been around for a long time. Although I consider Ruby to be much better, easier to learn and most important - really fun to code with. Combined with RubyQt and Korondum (KDE bindings) it's great to make GUI apps.

I haven't ever tried GTK API, but I heard it's much more complicated then Qt and KDE...

Offline

#11 2006-04-09 22:50:55

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: which!?

If you want something you'll pick up right away, I'd go with Python, and PyGTK is very nice for GUI. In fact, I'm even doing 3D programming using Python right now (via PyOGRE) and it's holding its own.

I started off with C/C++ and I'm glad I did. I feel that if I had started with a higher-level programming language first I'd have more problems with the lower-level code. I learned C/C++ with no difficulties at all, and I've seen so many people who start off high-level and then can't make sense of anything in C/C++.

Offline

#12 2006-04-18 01:46:18

rdoggsv
Member
From: /home
Registered: 2005-06-24
Posts: 79
Website

Re: which!?

what about java , would it be good to learn java ???.

Im used to using c# on windogz and i was woundering what would be the right language to learn and use on linux ??? im trying to get the gui apps running , it doesnt matter if they are multiplatform but when i saw the topic of this thread i thought would find some people recommending java.

rdoggsv

Offline

#13 2006-04-18 15:38:06

cmp
Member
Registered: 2005-01-03
Posts: 350

Re: which!?

why not mono? - c# and all other .net languages for linux

Offline

#14 2006-04-18 19:48:35

rdoggsv
Member
From: /home
Registered: 2005-06-24
Posts: 79
Website

Re: which!?

cmp wrote:

why not mono? - c# and all other .net languages for linux

its too early to use mono for rentable programs dont u think ???

Offline

#15 2006-04-19 14:46:40

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: which!?

objective c and cocoa is good but its for os x ;-( you could give gnustep a try. its very easy after you learn objective c, which takes a couple of minutes if you know c. which takes a couple of hours to learn. so hours + minutes = apps.

Offline

#16 2006-04-19 16:20:21

cmp
Member
Registered: 2005-01-03
Posts: 350

Re: which!?

rdoggsv wrote:
cmp wrote:

why not mono? - c# and all other .net languages for linux

its too early to use mono for rentable programs dont u think ???

do you mean apps that can be sold?

well I guess mono is stable enoug for application, maybe not with windowsforms, but have a look at banshee, tomboy, muine, f-spot and propably many more - they run all on mono afaik.

Offline

#17 2006-04-19 17:03:22

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: which!?

another good language is lisp but the learning curve is steep.

Offline

#18 2006-04-19 21:39:30

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: which!?

well you've obviously got a lot of suggestions tompouceuh, and since they're all different, it's probably not all that helpful!

There are pros and cons to each language. Here's a few that spring to mind:

Python

:idea: Simple and fairly intuitive to code
:idea: PyGTK allows quick GUI design

:!: Slow for live GUI stuff (don't bug me about this please, I wrote a particle system in Java and compared it to a well-written one in Python - mine handles 300-400 particles at capped speed, while the python one fumbled with 40-50)
:!: *Possible* irritations with forced whitespace formatting and constant 'self' references
:!: Not pure object-oriented language; bit of a mish-mash

Java

:idea: Pure O.O.
:idea: Incredible online class documentation
:idea: The power of C, only a small decrease in speed now with JDK 5.0, and automated garbage collection
:idea: Vast forums to search for solutions to problems you face

:!: GUI code gets pretty dense, and Swing can be hard to understand completely at first (in fact, I guarantee that if you use Swing you'll run into double figures in hours spent debugging an app with a complicated GUI)
:!: Um.. I can't think of others

Ruby

:idea: Cactus loves it ^_^   It does look pretty great, but I haven't had chance to use it myself yet

PHP

:idea: Being web-based (if you so desire), ideal for access-anywhere applications, and for interaction with remote servers running the application your frontend affects

:!: Not at all strict in typing; may be a poor example to follow if you wish to design intelligent programs with good layout

C/C++

:idea: Very fast!
:idea: *The* languages to code in for commercial release.

:!: Very hard to get into C/C++ imo; there's so much to learn for them.
:!: Manual garbage collection
:!: Lack of string comprehension in C

Objective C

:idea: All the pros of C, but with the added bonus of object-oriented design at your fingertips. An OO language makes breaking down software design into digestible chunks *so* much easier

:!: Same drawbacks as C...


:arrow: It may be worth checking out the favourite programming language thread also to gauge what peoples' opinions of individual languages are.


Side Note:  phrakture, what do you make of those people who dislike C++ so much and prefer Objective C instead? How do you respond to the common criticisms of C++ vs C/Objective C?


.oO Komodo Dave Oo.

Offline

#19 2006-04-19 23:33:52

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: which!?

Komodo wrote:

Side Note:  phrakture, what do you make of those people who dislike C++ so much and prefer Objective C instead? How do you respond to the common criticisms of C++ vs C/Objective C?

I don't think I've ever heard of someone preferring ObjC over C or C++ - there are people like that, but ObjC is very special purpose, so it doesn't hold much water really.

As for criticism of C++... oi, I could go on for hours... Here's a few snippets from Bjarne Stroustrup:

Why is the code generated for the "Hello world" program ten times larger for C++ than for C?

It isn't on my machine, and it shouldn't be on yours. I have even seen the C++ version of the "hello world" program smaller than the C version. When I recently (2004) tested using gcc -o2 on a Unix, the two versions (iostreams and stdio) yielded identical sizes. There is no language reason why the one version should be larger than the other. It is all an issue on how the implementor organized the libraries. If one version is significantly larger than the other, report the problem to the implementor of the larger.

How can a legacy language like C++ compete with modern, advanced languages?

Naturally, calling C++ a legacy language shows a bias (see 'legacy code' below). That aside, people are usually thinking of Java or C# when they ask such a question. I will not compare C++ to those languages, but I can point out that "modern" doesn't necessarily mean "better", and that both Java and C# are rooted in 1980s style OOP to an even greater extent than early C++ was.

What is "legacy code"?

"Legacy code" is a term often used derogatorily to characterize code that is written in a language or style that (1) the speaker/writer consider outdated and/or (2) is competing with something sold/promoted by the speaker/writer. "Legacy code" often differs from its suggested alternative by actually working and scaling.

Is C++ an Object-Oriented language?

C++ is a multi-paradigm programming language that supports Object-Oriented and other useful styles of programming. If what you are looking for is something that forces you to do things in exactly one way, C++ isn't it. There is no one right way to write every program - and even if there were there would be no way of forcing programmers to use it.

That said, writing C-style programs in C++ is for most applications not an optimal use of C++. To be a really effective C++ programmer, you must use the abstraction mechanisms and the type system in a way that fits reasonably with their intent. Trying to ignore or defeat the C++ type system is a most frustrating experience.

Writing Smalltalk-style in C++ can be equally frustrating and sub-optimal as writing C-style code in C++.

And a few links for good measure:
http://public.research.att.com/~bs/bs_faq2.html#finally
http://public.research.att.com/~bs/bs_f … mory-leaks
http://public.research.att.com/~bs/bs_faq2.html#object

That is all 8)

Offline

#20 2006-04-20 14:44:15

Bison
Member
From: Jacksonville, FL
Registered: 2006-04-12
Posts: 158
Website

Re: which!?

syamajala wrote:

another good language is lisp but the learning curve is steep.

I don't think it really has a steep learning curve, It just looks different to programmers that are used to C based languages.

In fact, its pretty much the same, just less lines of code.

Offline

#21 2006-04-20 18:09:59

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: which!?

phrakture wrote:

That is all 8)

Hehe, cheers for that phrak, tres interessant ^_^

Bison wrote:

In fact, its pretty much the same, just less lines of code.

*fewer   tongue


.oO Komodo Dave Oo.

Offline

Board footer

Powered by FluxBB