Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Programming (NET)
Index -> General Programming
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Flikerator




PostPosted: Thu Dec 06, 2007 2:29 am   Post subject: Programming (NET)

Turing is capable of writing programs that let you interact with other users via the Net, but I would never consider using it to write large applications for purposes that involve net programming. Its not slow, but its definitely not fast. And Turing itself has limitations that are not Net related.

So, in your opinion, if you were to write a large scale program that will involve a lot of users on the Net, what would you write it in, and why? Obviously there is no best choice, but there are better choices depending on the program. I want your opinions and justifications. Thanks BooHoo
Sponsor
Sponsor
Sponsor
sponsor
Tony




PostPosted: Thu Dec 06, 2007 2:39 am   Post subject: RE:Programming (NET)

Definitely Ruby.. because it's enjoyable to write with. It's also incredibly easy, and scales well -- think Twitter.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
PaulButler




PostPosted: Thu Dec 06, 2007 4:44 pm   Post subject: RE:Programming (NET)

Network programming is pretty broad. Do you want to write a server? A web application? A client for a network protocol?

Most programming languages have standard libraries for networking. Instead of looking for languages that have good networking libraries, look for a language that will do whatever else you want to do well.

If you want networking and a cross-platform GUI, consider Python (and wxWidgets) or Java. If you want to write a server, look for a language that lets you nicely make multiple threads. If you want to write a web application, Python with Django, PHP, and Ruby with Ruby on Rails come to mind.
Mazer




PostPosted: Thu Dec 06, 2007 5:07 pm   Post subject: RE:Programming (NET)

If you're coming from Turing "networking" definitely learn some theory first. How well do you know TCP/IP?
Flikerator




PostPosted: Thu Dec 06, 2007 7:27 pm   Post subject: Re: RE:Programming (NET)

Mazer @ Thu Dec 06, 2007 6:07 pm wrote:
If you're coming from Turing "networking" definitely learn some theory first. How well do you know TCP/IP?


I've only 'networked' using Turing, but I haven't actually been programming in Turing for a long while. Mostly Scheme/Perl/Ruby. I know a fair amount about TCP/IP.

Quote:
Network programming is pretty broad. Do you want to write a server? A web application? A client for a network protocol?

I wasn't looking for anything specific, mostly just peoples opinions of how languages handle any kind of networking. If I were to do anything with networking in the near future it would be an online rpg (non-browser) or an RTS (from 1vs1 to 8vs8), but I have no plans to do so right now.

This thread was mainly for curiosity. I'm entering my first work term so I will have spare time to explore anything thats interesting, like networking or trying some machine code.
wtd




PostPosted: Thu Dec 06, 2007 7:37 pm   Post subject: RE:Programming (NET)

A reasonably sophisticated game incorporates a pretty wide variety of programming tasks. You may find that there is no one single language that best handles all of these tasks.

Have a varied toolbox. Smile
Flikerator




PostPosted: Thu Dec 06, 2007 8:07 pm   Post subject: Re: RE:Programming (NET)

wtd @ Thu Dec 06, 2007 8:37 pm wrote:
A reasonably sophisticated game incorporates a pretty wide variety of programming tasks. You may find that there is no one single language that best handles all of these tasks.

Have a varied toolbox. Smile


Oh I know =). I've programmed in Lisp, Haskell, and Scheme (functional). I've also programmed in Java, C++, Turing, Perl, and Ruby (OO). I've even done server side programming with PHP/MySQL (though I've never tried ASP). I'm just looking for peoples opinions on which languages have good net support (and why), not necessarily for games.
wtd




PostPosted: Thu Dec 06, 2007 9:33 pm   Post subject: RE:Programming (NET)

Ok... let me rephrase. Any given program may be best written in an assortment of languages. Wink
Sponsor
Sponsor
Sponsor
sponsor
PaulButler




PostPosted: Thu Dec 06, 2007 10:39 pm   Post subject: RE:Programming (NET)

wtd, are you suggesting that he use multiple languages in the same project?

If so, any tips on how to make this work? The only projects I know of like this are either client/server where the client and server are written in different languages, or projects that include an interpreter and have higher level stuff written in that language (for example, FireFox.) That said, I think it would be a useful thing to do and it would be nice to see some examples of how it has been done properly.

Err, sorry if I got a little off-topic.
octopi




PostPosted: Thu Dec 06, 2007 11:27 pm   Post subject: Re: Programming (NET)

I've been happy with what I've been able to do with C-Sharp

I was able to write a windows service (and GUI) that sat in the background and would monitor our servers at our data center and contact us via email, and text message when something went down.

I found it fairly easy to do the following:

ICMP
HTTP Request
Soap/WebService requests
SMTP

Theres fairly good support for sockets and other stuff although I haven't attempted that yet.

Also its fairly easy to do file operations, and inter process communication (aka getting my windows service to be able to share information with a GUI app)

The IPC stuff is pretty cool, basically you make a common class (object) and from one program you can call methods on that object and access the same instance of the object from another program.
(Apparently you can do this over HTTP too, which might be interesting to look at)


example (program a):
calls the method setValue("asd")

(program b)
calls the method getValue(); which returns "asd"

http://msdn2.microsoft.com/en-us/library/system.runtime.remoting.channels.ipc.ipcchannel.aspx
wtd




PostPosted: Thu Dec 06, 2007 11:42 pm   Post subject: Re: RE:Programming (NET)

PaulButler @ Fri Dec 07, 2007 11:39 am wrote:
wtd, are you suggesting that he use multiple languages in the same project?

If so, any tips on how to make this work? The only projects I know of like this are either client/server where the client and server are written in different languages, or projects that include an interpreter and have higher level stuff written in that language (for example, FireFox.) That said, I think it would be a useful thing to do and it would be nice to see some examples of how it has been done properly.


There are lots of examples of this. Any number of games take this approach.

Of course, the JVM and Microsoft's Common Language Runtime also aid in that. One could, for instance, have a colleague writing code in Java, and another in Scala, and both could work together.
Tony




PostPosted: Fri Dec 07, 2007 12:04 am   Post subject: Re: RE:Programming (NET)

wtd @ Thu Dec 06, 2007 11:42 pm wrote:
There are lots of examples of this. Any number of games take this approach.

Lua is a popular scripting language used in video games.

This is pretty cool actually
Quote:

Ragnarok Online recently had a Lua implementation, allowing players to fully customize the artificial intelligence of their homunculus to their liking, provided that they have an Alchemist to summon one.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Display posts from previous:   
   Index -> General Programming
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 12 Posts ]
Jump to:   


Style:  
Search: