ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Seeking Programming Language To Learn

<< < (2/4) > >>

CWuestefeld:
This has been discussed around here a time or two, but every time, people find a slightly different way to ask the question, leading to slightly different answers.

One thing you emphasized is that you'd like to be able to read a program more like real English. There's actually a technical term for this: "fluent interface". Most modern Object-Oriented languages enable this to varying degrees: Java, C#, python, ruby, etc. I believe that Ruby goes the farthest in this direction, but the same attributes that give it this advantage also allow it to become quite cryptic if you're not careful. My opinion (which I'll get flack for) is that Java is getting quite long-in-the-tooth, and not quite able to carry innovation into the 21st Century with the foundation it's built on.

So my suggestions would be either C# or python. Both of these languages are at the cutting edge of development, giving you access to the most recent improvements in development technologies. You can get free development environments for either of these. I believe that C# probably has a more mature development community in which you can find books and other documentation, examples, and so forth. But python, being a dynamic language, probably gets you closer to the fluent interface.

Another consideration should be the state of libraries that are available for a given language/platform. There's no point in re-inventing the wheel; you can build your applications much faster if you're able to leverage work that other people have done already. Both C# and python excel in this respect. You can find numerous web sites for each that specialize in the sharing of libraries for most any application you can name.

Edvard:
If you're concerned about comprehending the language, I'd recommend either of these two:

-Autohotkey
If you hang around here for any length of time, you'll find out why. It has evolved from a macro/script utility to an almost full-blown interpreted language. Poke around the help file, download a few of Skrommel's toys to inspect and you'll soon have quite the folderful of nifty things, I guarantee.
-Ruby
While not as popular or as well-documented as Python, the two languages have similar modus operandi and is the most "english-like" you're going to get. Add on that it's useful for making nifty web stuff, cross-platform, fully object-oriented, dynamically typed and a bunch of other adjectives I don't fully comprehend.

Have fun!

EDIT: Dang! CW mentioned Ruby before me... Oh well, I have links!  ;D

mrainey:
Here's a code sample for Creative BASIC, the little brother of my language of choice, Emergence BASIC.  The syntax of Emergence is virtually identical.


' Demonstrating how easy it is to create a window in Creative Basic
' also includes a Text Box control to display some text ..
def w:window
def wstyle:int
def a$,newline:string

wstyle = @SIZE|@MINBOX
newline = chr$(10)
window w,0,0,600,400,wstyle,0,"Creative Basic",main
setwindowcolor w,rgb(0,0,40)
centerwindow w

control w,"T,,100,30,400,300,@cteditcenter,1"
setcontrolcolor w,1,rgb(55,255,160),rgb(0,0,50)
rect w,99,29,402,302,rgb(0,150,150)

a$ = string$(3,newline) + "A Simple" + newline + "Creative Window"
setfont w,"Arial", 20, 700, @SFITALIC,1

setcontroltext w,1,a$

waituntil w = 0
END

SUB main
select @CLASS
   case @IDCLOSEWINDOW
      closewindow w
endselect
RETURN


Creative lets you work with an interpreter to get the programming done, then generate a standalone exe for using and distributing the program.  The executable won't be as small or as fast as one created with Emergence, which is a true compiler.

I don't think Emergence BASIC would tie your hands in terms of its capabilities.  You can do some serious work with it.


http://www.ionicwind.com

raybeere:
Thanks, everyone. You've given me a lot of good points to consider. I'd completely overlooked the point about libraries *duh!* which is certainly something I'd want to consider. I don't think I'm ready to reinvent the wheel.

AutoHotKey does look interesting; a lot of the tools created with it look even more so. But the "almost" makes me suspect I'll want to do something it won't allow me to soon enough. I've had that problem with macros and batch files; I even had it back when I was using Norton Batch Runner. You can go pretty far, if you get creative, but there is a point you just can't get past. Or at least I've never been able to.

Beyond that, I'm going to do a little poking around all the suggestions so I can see what looks like my best option. Since I'm interested more than anything in making a few things just the way I want them, the average user doesn't concern me much. I'll make stuff I want to use, release it free (maybe donationware, here on DC, but I wouldn't count on getting much if anything from it) and if anyone wants it bad enough, they can always install what they'd need to run it. I know I would, if I found something I wanted to run badly enough. As it is, I find the things people make because they want to are a lot better than the stuff driven by market research...

My real concern is taking the time to make the right choice for me; I don't want to get pretty familiar with this or that language, then figure out I really wish I'd chosen another one. That sort of thing drives me nuts. Of course, having said that, Murphy's Amendment provides that someone, somewhere, will now begin developing a completely new programming language, tailored especially for me, with the first release timed to occur on the same day I finally figure I've learned whichever language I finally choose.  ;D

Target:
since you're already here, you might like to look at the <a href="https://www.donationcoder.com/forum/index.php?board=77.0">DC programming school</a>

you have the opportunity to attempt a series of challenges in a range of languages - you might find something that appeals this way without having to invest on the off chance that your purchase is going to work for you

with respect to the potential limitations of your chosen language I suspect that this is likely to be an issue regardless of your choice (eventually...).  Pick a likely candidate and see where it takes you - you might be surprised.  If it doesn't work out, just remember what you've learned along the way (it's better to make a start and work it out as you go than it is to worry about how it might end if you do start)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version