• Smogon Premier League is here and the team collection is now available. Support your team!

programmers unite

chaos

Tournament Banned
is a Site Content Manageris a Battle Simulator Administratoris a Top Programmeris a Top Community Contributoris a Top Smogon Discord Contributoris a Contributor to Smogonis an Administratoris a Tournament Director Alumnusis a Researcher Alumnus
Owner
I would like to start having regular computer programming discussion topics but I'm not really sure how much of our audience is programming literate aside from the admins here. So... if you're a programmer and would like to participate in nerd discussion, feel free to make yourself known here and maybe tell us a little about your background!
 
Well... I'm not an expert programmer at all. I'm not even average (lack of formal training). But, I do program, and discussion about such is interesting -- if not a chance to learn -- so I might as well post.

I've been coding off and on for about a year and a half now (planning to make a career out of this; might as well start young), mainly with Ruby and C++, but I have a wee bit of Perl experience as well. I'm fairly familiar with OO design (though not skilled at it)... and that's about it. Yeah.
 
Well my college course will have a lot of programming in it. I'm taking up Computer Science, just a freshman so I wouldn't know a lot yet. We're currently taking up the JAVA language.

I've had experience with QBASIC back in high school.
 
I'll be taking a Web Designing course soon which will train me to use all sorts of coding I guess, but I'm really not very competent at the moment. I'm working with a friend of mine who designs web pages for a living at the moment, gaining experience and he's teaching me some tips along the way. Hopefully when I pass my course, we can start up the business properly since I'll have some qualifications!
 
I taught myself BASIC as a kid (both on the Commodore 16 and the Amstrad CPC), and I learned some COBOL and PASCAL in college back in 1996. Done nothing of either since then, admittedly.

I also scripted the first r/b/y mode netbattle server.

I'm afraid I've not done much in the way of programming in recent years, although I do have the Codewarrior pro 5 programming suite on disc somewhere.
 
I spent my first year of college in Software Engineering, picking up some pretty basic Java skills. I can still remember a lot of it, so it might be cool to delve back into it.
 
Well, I'm a CS major, but my school's CS program has more of a focus on the science itself rather than any coding. Mostly some Java and C++ stuff.

However, my experience in Visual Basic did come in handy back when I was on the NetBattle dev team - my old nick (Don't Run With Scizors) is still in the credits.
 
tl;dr bored at work

I've been programming for around 8 years now (started self-taught at 11), starting with Visual Basic. I was technically hired to program for the Kentucky government at 15 but complications with legal working age prevented me from taking this job. I currently work for Transylvania University, redesigning their website.... which isn't nearly as hard as redesigning THIS site.

I have a working knowledge of almost every language that is mainstream or used to be mainstream as a result of research for writing my own programming language.

Projects I've worked on:

- Tetra programming language (there have been 3 successful, Turing-complete versions. Only 1 survives today, and I've abandoned it for a completely different implementation which has been in "development" since around 2003. On "hold" until Smogon is in working order, although to be honest I brainstorm ideas for it everyday.)

- an IRCd with a MySQL backend, I killed this off when we abandoned the idea of running our own IRC server
- BounceThis, a novel IRC proxy that runs as an IRC server itself. The source exists on the internet, but it sucks hard as this was written before I really knew how to write servers and hasn't been in active development for years and years.
- UB3, an IRC takeover bot written in C++ that completely destroyed channels back on MediaDriven with my partners BH and Denny
- Lassie, a best-of-breed IRC channel protection bot. Detects proxies better than the IRCd it runs on (banned hundreds of proxies, 2 false positives, 0 since fix), identifies regular users in the channels it runs on, auto-limits channels to protect against clonefloods, and has a novel flood detection scheme that can catch common attacks within 1-2 lines with very few false positives. Written in mIRC script using hash tables, might by reimplemented in Python/Ruby for Competitor.

- Implemented patches and speedups for NetBattle. The current version of NetBattle (0.9.6P) was compiled by me.
- nbflood, a program that took down NetBattle servers guaranteed, impossible to stop sans an external Firewall filtering packets. This program was the reason why the NetBattle protocol was encrypted (and why all of NetBattle hated me while RSBot was still running.) Watch out Shoddy Battle! (just kidding)

- lots of one off projects when I was learning how to program, like a Windows color picker that would zoom in on your screen and tell you RGB/hex values for colors you select on your screen.

Smogon:
- a web based, "meta-document" version control system called the SCMS. Integrates with vBulletin and allows everyone with a badge to contribute documents to the site with approval by Site Staff. Currently written in PHP, being reimplemented in Python for the new site.
- a generational Pokedex. I firmly believe this is one of the hardest SQL projects to ever exist. The meat of this is database design/SQL, but there is an implementation for RBY/GSC/RS in PHP. DP implementation somewhat finished in Python.
- Competitor. The server code is almost finished in C++ and libevent.
- the Wi-Fi Trade Center, a Python project which allows for users to create "stores" and sell Pokemon. Currently working on this.

Languages I use a lot: ASP, JavaScript, PHP, Python, C++, XUL
Languages I love: XUL, JavaScript, Python, Ruby
Languages I think are interesting: Smalltalk, Lisp, Haskell, Icon, Erlang, Eiffel
Languages I've had to use that I hate: PHP, ASP, Java, mIRC script, RM2K, Lisp, NBScript, Perl, Visual Basic
 
I know some beginner's C++ but I'm taking more computer classes in the fall so this would be helpful for me more than anything else.
 
when i was a kid i was fascinated by mIRC scripting, which i guess is what made me take computer science as my degree. just finished my first year so i'm not what you'd call professional by any standard, but i'd say i am pretty competent given that i have only been studying for 9 months. ada95 and lisp are the languages i use but i will need to know C for next year. feel free to tutor me, anyone
 
m0nkfish, Carl, feel free to drop me a line on IRC about C if you run into any trouble
 
I took a bit of C in Informatics class last year and I'll continue that upcoming year. I wasn't too great and it took a lot of time to understand, considering the only solid base I had led in mIRC script. Back when I was 11 I used to hang out on IRC channels (surprisingly the first big one was #animechat) and learn scripting. It was mostly stuff I feel really dumb about now, like:
- talkers: auto-replacing stuff like lol with Laughing Out Loud with all kinds of color themes)
- take-over bots: this was really easy as long as you had been given ownership once, because the server I was on simply allowed you to /access yourself
- novelty bots (think !bar, !foodfight, !slap), all that kind of stuff.
- revenge-kick: basically it would rejoin a channel when kicked, make sure to set your own ownership access level in the channel, take away the access of the one who kicked you, proceed by banning, kicking, etcetera. Of course, not without a Revenge Kick Counter ### in several gay-themed colors.

mIRC script is so horrible, I wish I learned something useful.
 
I am 17 years old and about to go to University. I learnt Visual Basic and Oracle for two years (College syllabus and I don't think it is too much advanced). At the moment I am learning C++ (which I would learn in Uni anyway but having some knowledge on it never hurts). You can add mIRC if you want but I don't have that much knowledge on it.
 
I program Competitor and am pretty good. Yeah!

Also do programming for general mathematics things for my job, that's a lot more algorithms than programming.

I guess everyone else is posting their history so here I'll do it too. I taught myself C when I was 11 or 12. I'm 20 now, a mathematics major at a small college but I'm really sick of mathematics so I want to switch back to physics. I don't see being a computer science major as particularly useful at all, as most of the stuff I'd learn in classes I can pretty much teach myself out of a book (and far faster than I could learn it in class). That said, I've taken a couple interesting computer science classes in Artificial Intelligence and Theory of Computation. My main interests are cryptography, compilers, and operating systems.
 
Been programming a little for about a year or two. Mostly worked with C and C++, but I've also messed around with Visual Basic. I'm planning on looking into Java pretty soon.
 
i have some idea of ruby and python and have been freelancing for visual basic and php/mysql projects for one year now, and am quite good at them. currently learning C/C++, to be followed by x86 assembly, and perhaps 65816 assembly if time permits. oh, and javascript and html.
 
Since there's not been any real discussion yet, what do you all think the most useful language is? And who wants to teach it to me =]
 
Really once you learn one language well it's not too difficult to pick up others from what I've been told. So it really all depends on what people think the easiest one to start with would be.
 
I'm a Computer Science major, I'm currently going into my senior year at a 4-year university :)

I took a class in Visual Basic when I was 13, took both AP programming classes at my high school, took the few computer-related courses at a community college, and I've taken a range of CS and computer engineering classes at my university. All the while I've been big on mIRCScript - it's a bizarre but powerful language and I often go back to it to do stuff like text formatting (which I find it to be pretty good at, since IRC is basically all text). I've also made more complex scripts like full-fledged games and an IRC Services package.

Currently I assist with Competitor and keep up with the site's coding with my fairly new knowledge of Python (which I picked up in about 3 days).
 
Really once you learn one language well it's not too difficult to pick up others from what I've been told. So it really all depends on what people think the easiest one to start with would be.

Well, the first part is true but... Visual Basic is pretty easy to learn but it doesn't mean it's the most useful in the majority of situations. I personally think the most useful language is Python, it's easy, the syntax is pleasant, there is an extensive set of libraries for it, it has an interactive interpreter, and it's not as completely slow as Ruby at the moment (and there are tools like Pyrex, Psyco, and others that can make Python as fast as C). The package system is a dream too (much better than Ruby's)
 
Well I meant that in the sense that he could learn whatever and then pick up something like python later.
 
Like 2 years ago, I was teaching myself Pascal/Python, but I just got tired of it. Not my kind of thing I guess, though I do have a couple friends who do like programming competitions and stuff. One of whom I know regularly places like top 10 in international competitions.
 
I took Computer Science in high school. Learned Python, C/C++. In grade 11, I was a part of my school's Robotics team programming our robot and it was either way too complex or I was just too lazy. Dunno. I didn't do as much as I'd have liked and let some other team members handle most things. After that I didn't think I was really cut out for programming so I've been going a different route with New Media.

Took two mandatory programming courses in first year university (going to my second year now). Python is still as awesome as it was in grade 9. I love Python =D Don't know anything advanced though.
 
Easiest to start with? I'm thinking Ruby... it's very forgiving and doesn't really force you into doing odd things.

As for most useful, C (or C++). Low-level, efficient, you can find a C compiler on nearly anything, and there's very little you can't do with it.
 
Low level doesn't necessarily mean useful. The amount of time it takes to develop something in C++ makes it much less useful for the vast majority of programming tasks. You can do anything in any language that is Turing complete but unless you're writing something like a server or a video game C++ just doesn't stack up as the bottlenecks will come from another aspect of the system and not the actual language itself (see: the majority of web applications are written in a scripting language because the bottleneck is the database access - which would be written in C.)
 
Back
Top