|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On July 09 2010 23:05 sluggaslamoo wrote: IMO the stricter the language is on syntax and usage, in other words, the more the compiler tries to piss you off, the better it is for beginners. Once you learn how everything works you can move on to more fancy stuff, but at least in your head you will know exactly what is going on.
Frankly, I'm fond of the incredibly strict compilers. I'd have to agree with your overall assessment, although I won't know how true the part about starting in C over C#/Java will be for another few years, probably.
Wanna try explaining wtf the point of D and F# to someone with only a few years C#/VB.NET experience and minimal Java?
|
On July 10 2010 09:20 eaT_Mi_Lquid wrote:Show nested quote +On July 10 2010 09:16 jgad wrote: All these fancy, trendy languages....
I code in Delphi. And ladder logic. 0_o Hehe , actually, real software devs don't care about certain prog. languages anymore. If there's a need to implement something in a certain language they just do it. Familiarity with a certain language is not that important, as good programmers can get a grasp from a given programming language really fast.
Yeah, I learned Delphi in about a week. That's pretty much how the interview went -
them : "Do you know Delphi?"
me : "No, but I will if you need me to"
|
Hyrule18967 Posts
On July 09 2010 21:02 Ahseyo wrote:Show nested quote +On July 09 2010 20:59 tofucake wrote: LOLCODE, Brainfuck, Whitespace, etc... are novelty languages, and as such serve no purpose. I'd like to keep them out of this discussion. And since when were you allowed to mini mod? Also, it's the internet and people uses this kind of language all the time, even if you like it or not. Since I started the thread and I'd really like it to not be closed?
I could, but my list is people who read the thread. I'll add you though.
On July 09 2010 23:56 uNiGNoRe wrote:Show nested quote +On July 09 2010 23:44 zatic wrote:On July 09 2010 23:05 sluggaslamoo wrote:On July 09 2010 19:09 Qzy wrote:I'm at level 2 (solved 60) ![](/mirror/smilies/smile.gif) started a few months ago.. you? I can recommend project euler for EVERYONE who loves programming and math. Actually I kinda did it so it would force me to get better at algorithmic problem solving, I think I got to 30 before I decided I couldn't take it anymore (long time ago tho) ![](/mirror/smilies/puh2.gif) I'm really into programming theory, but not the kind that involves hardcore algorithms. I might try it again some time. On July 09 2010 20:12 zatic wrote: For anyone completely new to programming who is just curious try doing some stuff in Python. It is imo the easiest to learn and yet complete programming language out there.
... etc etc
Python is next to Javascript the language I use the most day to day (and I am a professional Java/ABAP programmer) just because they are both so helpful in everyday computer usage. Python really should only be used once you have a fair grip on functional programming, it is actually one of the hardest languages to learn. Python uses a reference counting garbage collecting algorithm, and is even more confusing than manual memory management. Javascript uses mark-and-sweep so it is more beginner friendly. Beginner programmers will only end up creating memory leaks and a ton of side-effects. Dynamic and weak typing makes this worse too and only enforces bad habits. And you are entirely missing the point. If you just want to learn or even just try programming - which my paragraph opened up with - you would be insane to wrap you head around memory management at all. People should just try out stuff, and Python is the most accessible and easy to learn languages that let you do stuff immediately. You should try to start with Javascript though it is a comparably hard language to learn I just mentioned it because once you know a bit JS it makes your life much much easier. I think it really depends on your goal when deciding to learn programming. If you just want to try it out and maybe write a little program that helps you organize your files or whatever, then it might be better to start off with Python. Constantly getting compiler errors and warnings will most likely discourage anyone who isn't very serious about learning how to program. On the other hand, if you have long term goals with programming and really want to get into it and maybe learn several other languages later on, then I would agree with sluggaslamoo and suggest you to start with C or Pascal. Having to deal with pointers, strict typing and similar things takes a lot of the magic out of programming and will teach you things that you will definitely need sooner or later. I disagree. When I was first learning programming I was quite upset that one of my programs wasn't working, and the answer was that I had to initialize a variable. If only my compiler told me about that (which it did after a long time of fiddling and posting on the internet. Warnings should have been default!) I'm quite the fan of strict compiling rules.
On July 10 2010 09:28 jgad wrote:Show nested quote +On July 10 2010 09:20 eaT_Mi_Lquid wrote:On July 10 2010 09:16 jgad wrote: All these fancy, trendy languages....
I code in Delphi. And ladder logic. 0_o Hehe , actually, real software devs don't care about certain prog. languages anymore. If there's a need to implement something in a certain language they just do it. Familiarity with a certain language is not that important, as good programmers can get a grasp from a given programming language really fast. Yeah, I learned Delphi in about a week. That's pretty much how the interview went - them : "Do you know Delphi?" me : "No, but I will if you need me to" To be fair, it's quite a bit easier to learn a new language if you're already well versed in general coding methods and have a good idea of how to program.
|
About strict compiling. I have been busy with the thought experiment on how it would be to program in a language that accepts any and all input as valid. With the bonus perhaps that every bit is relevant towards the workings of the end product. It would be a nightmare to debug small errors or typos. On the other hand, you get to be trained in really careful typing.
|
On July 10 2010 10:34 Badjas wrote: About strict compiling. I have been busy with the thought experiment on how it would be to program in a language that accepts any and all input as valid. With the bonus perhaps that every bit is relevant towards the workings of the end product. It would be a nightmare to debug small errors or typos. On the other hand, you get to be trained in really careful typing.
I don't know what you really mean. But a programming language is a language with which u express a certain model (the software). This model should be like definite (I mean that it should be unambigeous) in order to be working properly. Typos on the other hand can be handled well through a good IDE.
|
On July 10 2010 10:34 Badjas wrote: About strict compiling. I have been busy with the thought experiment on how it would be to program in a language that accepts any and all input as valid. With the bonus perhaps that every bit is relevant towards the workings of the end product. It would be a nightmare to debug small errors or typos. On the other hand, you get to be trained in really careful typing.
The problem is that the compiler is also restricted to producing a set of limited and fixed opcodes. You would need some way for your compiler to take random, undisciplined chaos and decide how to represent it in an incredibly rigid framework as something meaningful. One segfault can ruin your day...it's not like there's a lot of flexibility to just shoot from the hip with this stuff, at least not if you want your software to do something logical and meaningful.
|
Hyrule18967 Posts
On July 10 2010 10:34 Badjas wrote: About strict compiling. I have been busy with the thought experiment on how it would be to program in a language that accepts any and all input as valid. With the bonus perhaps that every bit is relevant towards the workings of the end product. It would be a nightmare to debug small errors or typos. On the other hand, you get to be trained in really careful typing. It's called PHP with error_reporting(E_NONE)
|
Sup? I kind of want to get into some web/socket programming, for various reasons, mainly that it's the hot thing right now, with all the web 2.0 stuff, and definately useful/fun. From what I can gather I have a couple of options, as I only really know C++ well enough; learn a new language (C#/java? comments appreciated) or learn the C++ "libraries" (Winsock/BSD sockets? What are my options here). Thoughts on what's more beneficial/is more used in the industry?
|
On July 11 2010 05:49 Adeny wrote: Sup? I kind of want to get into some web/socket programming, for various reasons, mainly that it's the hot thing right now, with all the web 2.0 stuff, and definately useful/fun. From what I can gather I have a couple of options, as I only really know C++ well enough; learn a new language (C#/java? comments appreciated) or learn the C++ "libraries" (Winsock/BSD sockets? What are my options here). Thoughts on what's more beneficial/is more used in the industry? I didn't really do much with sockets yet, but for C++ you could use SDL as a portable library that supports sockets. C# shouldn't be too hard to learn if you know C++, and Java is easy as well. Between the two I would choose C#, though I somewhat dislike both. And if you don't want to code for Windows only, use Java. You can run C# on other OSes, but not as well as on Windows.
|
On July 11 2010 06:00 spinesheath wrote:Show nested quote +On July 11 2010 05:49 Adeny wrote: Sup? I kind of want to get into some web/socket programming, for various reasons, mainly that it's the hot thing right now, with all the web 2.0 stuff, and definately useful/fun. From what I can gather I have a couple of options, as I only really know C++ well enough; learn a new language (C#/java? comments appreciated) or learn the C++ "libraries" (Winsock/BSD sockets? What are my options here). Thoughts on what's more beneficial/is more used in the industry? I didn't really do much with sockets yet, but for C++ you could use SDL as a portable library that supports sockets. C# shouldn't be too hard to learn if you know C++, and Java is easy as well. Between the two I would choose C#, though I somewhat dislike both. And if you don't want to code for Windows only, use Java. You can run C# on other OSes, but not as well as on Windows.
Yeah that's pretty much what I figured. Do I have any other options than pure socket programming? Maybe there are any API's that fill this function nowadays, or do I just have to get off my ass and read?
|
Actually, socket programming is quite a fun thing. Because it isn't that complex and well documented. Though typically you end up programming an abstraction one way or another on top of them but then you know exactly what's going on under the hood.
|
Hyrule18967 Posts
I've done plenty with sockets in just about every language I've worked with. Anyway, what's your aim? Writing a website that does fancy loading without reloading is totally different from writing, say, a Battle.net bot.
|
On July 11 2010 05:49 Adeny wrote: Sup? I kind of want to get into some web/socket programming, for various reasons, mainly that it's the hot thing right now, with all the web 2.0 stuff, and definately useful/fun. From what I can gather I have a couple of options, as I only really know C++ well enough; learn a new language (C#/java? comments appreciated) or learn the C++ "libraries" (Winsock/BSD sockets? What are my options here). Thoughts on what's more beneficial/is more used in the industry?
Web 2.0 (Man I hate that term) doesn't really have as much to do with socket connections as it does with dynamic content.
For dynamic websites, you need to learn PHP, AJAX, Javascript, SQL, HTML. You don't need to learn PHP sockets or anything like that. ![](/mirror/smilies/smile.gif)
|
I already program in C/C++, Objective-C, Java and PHP, but I'm interested in learning a new language in my free time, and I ended up asking myself: Python, Perl or Ruby for web development?
|
On July 11 2010 13:12 fabiano wrote: I already program in C/C++, Objective-C, Java and PHP, but I'm interested in learning a new language in my free time, and I ended up asking myself: Python, Perl or Ruby for web development?
I use Python myself. Perl is powerful, sure, but if I go back and look at even 10 lines of Perl I wrote 5 months ago it looks like gibberish, even with comments! I don't have any experience with Ruby but kar1181 on page 5 of this thread says it doesn't scale well, sounds like that comes from practical experience.
I also agree with someone earlier in this thread (gotta look up who) about hating the strict whitespace in Python, kinda bothers me but you get used to it.
|
Hehe, I'm probably gonna get kicked out of this whole thread but.. When I was like 12, me and a friend decided to learn how to make homepages! HTML was 'the shit' back then - atleast that was the only thing we'd heard of ;P. So we started with that, and I knew some basic shit(I could make a webpage with buttons and links and whatnot; yaaaay) by the end of that whole phase. Anyways, I kinda drifted from the whole programming thing(scripting, we called it, haha), but my friend continued. Some months later, my friend showed me on his computer how far he'd come. He had studied Java(I think?), and was now done with webpages - that was too boring!. Instead he was doing programs. He did calculators etc. Then some months after that, he had learned how to use C++, and was now doing all sorts of games and cool apps;P like Snake(the game).
Fun little story I wanted to share![](/mirror/smilies/smile.gif)
Anyways, I'm a _TOTAL_ newbie, I have no knowledge at all about programming. Where should I start? I've looked at some code, and I understand nAdA. C++ might aswell be korean characters. Any ideas? Should I start with HTML like my friend did and slowly evolve?
|
On July 11 2010 13:41 LuckyLuke43 wrote:Hehe, I'm probably gonna get kicked out of this whole thread but.. When I was like 12, me and a friend decided to learn how to make homepages! HTML was 'the shit' back then - atleast that was the only thing we'd heard of ;P. So we started with that, and I knew some basic shit(I could make a webpage with buttons and links and whatnot; yaaaay) by the end of that whole phase. Anyways, I kinda drifted from the whole programming thing(scripting, we called it, haha), but my friend continued. Some months later, my friend showed me on his computer how far he'd come. He had studied Java(I think?), and was now done with webpages - that was too boring!. Instead he was doing programs. He did calculators etc. Then some months after that, he had learned how to use C++, and was now doing all sorts of games and cool apps;P like Snake(the game). Fun little story I wanted to share ![](/mirror/smilies/smile.gif) Anyways, I'm a _TOTAL_ newbie, I have no knowledge at all about programming. Where should I start? I've looked at some code, and I understand nAdA. C++ might aswell be korean characters. Any ideas? Should I start with HTML like my friend did and slowly evolve?
starting with java or c++ is perfectly fine, any language really isnt that hard. You certainly dont have to start with html if that doesnt interest you most.
You can find tons and tons of online tutorials for the stuff, plus the links in the op are really nice
|
If I were learning to program right now, and I wasn't strongly inclined toward math (in which case a more CS-fundamentals approach might be wise) I would start by learning HTML and Javascript and make some neat web stuff. Javascript is both easy to get started with, practical, and powerful, and you already have an interpreter for it running right now so there's no barrier to entry.
|
On July 11 2010 13:35 dimfish wrote:Show nested quote +On July 11 2010 13:12 fabiano wrote: I already program in C/C++, Objective-C, Java and PHP, but I'm interested in learning a new language in my free time, and I ended up asking myself: Python, Perl or Ruby for web development?
I use Python myself. Perl is powerful, sure, but if I go back and look at even 10 lines of Perl I wrote 5 months ago it looks like gibberish, even with comments! I don't have any experience with Ruby but kar1181 on page 5 of this thread says it doesn't scale well, sounds like that comes from practical experience. I also agree with someone earlier in this thread (gotta look up who) about hating the strict whitespace in Python, kinda bothers me but you get used to it.
Actually Ruby probably scales better than PHP due to the modularity of mongrel, but it is negated by its slowness. As PHP is more popular in web development, there are a lot more optimisations.
Performance differences between Ruby and PHP only apply for web development as well, recent advances in Ruby mean that Ruby is now (way) faster than PHP on its own. Just check out the mac-ruby compiler.
The other big problem is Rails integration with Ruby. IMO Ruby would be better on its own, for web development. Programming with Rails is an absolute nightmare and has significantly slowed adoption in the web area.
However Ruby is a fantastic language, where-as PHP is trash.
|
For sake of discussion:
How would you go about designing a browser-based distributed computing client (in JavaScript). :p
|
|
|
|