My familiarity with programming languages is limited to Scheme, Python, Java, and C. What reasons are there to pick up others?
The Big Programming Thread - Page 285
Forum Index > General Forum |
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. | ||
wherebugsgo
Japan10647 Posts
My familiarity with programming languages is limited to Scheme, Python, Java, and C. What reasons are there to pick up others? | ||
LukeNukeEm
31 Posts
On April 17 2013 05:21 scudst0rm wrote: This compiles fine for me. What compiler and version are you using? #include <tuple> jesus .. | ||
halvorg
Norway717 Posts
On April 17 2013 05:31 wherebugsgo wrote: Can someone explain briefly, why are Haskell and Ruby popular/useful? I know Haskell is non-strict/features lazy evaluation and is a functional language but beyond that I'm pretty clueless. (undergrad CS so fairly newbie on this front) My familiarity with programming languages is limited to Scheme, Python, Java, and C. What reasons are there to pick up others? Well, I started learning haskell to broaden my horizon so to speak as I am a bit tired of java/.net object oriented EE bullshit. It is not like it is objectively superior to all other languages, but haskell is very fast (not as fast as C), succinct very easy to develop bug free code with. Whenever a haskell program/module compiles I am much more confident that it is bug free than when I compile a java or c program/module. In my opinion, if you are familiar with the languages you mentioned, you have no reason to learn a new language unless you find it enjoyable. On April 17 2013 05:26 iaretehnoob wrote: Working fine in VS2012, FWIW. They fixed that operator >> ambiguity thing in C++11. See if it works with a typedef'd tuple type and/or with explicitly typecasting the result of the vector access. Oops, my bad! | ||
CptCutter
United Kingdom370 Posts
On April 17 2013 05:31 wherebugsgo wrote: Can someone explain briefly, why are Haskell and Ruby popular/useful? I know Haskell is non-strict/features lazy evaluation and is a functional language but beyond that I'm pretty clueless. (undergrad CS so fairly newbie on this front) My familiarity with programming languages is limited to Scheme, Python, Java, and C. What reasons are there to pick up others? there are plenty of logical reasons to keep learning languages, although perhaps im the only one who keeps searching for improvement? | ||
Blisse
Canada3710 Posts
You learn new languages because you're interested in learning the nuances of the language that open your eyes to the limitations of other languages. But in most cases for most programmers, at least relatively new ones, there's a lot more to be learned from continuing to learn and program in a very broad and common language like Java, Python, C/C++, Ruby, etc. and going really deep into projects there, because you'll be getting concrete experience with a bunch of different, and likely more advanced projects. And on the same vein, learning like that really only matters for computer scientists - theorists. You only learn different ways of thinking and approaching the problem. It's not really improvement if few of those nuances would be ever even be slightly relevant in your daily programming. In some cases it's detrimental because now you want to apply your new knowledge so much that instead of getting shit done, you keep looking for the "best way" to do it. Learning is always recommended, but you definitely do not have to do that by constantly learning new languages, and you should definitely not feel like you are superior because you learn more languages than other people have learned. On a side rant, I also dislike how hardcore they're trying to make programmers feel by calling some hackers or ninjas or superstars or something... and it's kinda worked. | ||
Craton
United States17234 Posts
On April 17 2013 06:17 CptCutter wrote: there are plenty of logical reasons to keep learning languages, although perhaps im the only one who keeps searching for improvement? Lateral knowledge isn't necessarily improvement. His question is more "what does this do better than the others." If I can do the same thing three ways, who cares? If one of those ways does it faster / uses fewer resources / etc, THEN someone cares. | ||
Kambing
United States1176 Posts
On April 17 2013 05:31 wherebugsgo wrote: Can someone explain briefly, why are Haskell and Ruby popular/useful? I know Haskell is non-strict/features lazy evaluation and is a functional language but beyond that I'm pretty clueless. (undergrad CS so fairly newbie on this front) My familiarity with programming languages is limited to Scheme, Python, Java, and C. What reasons are there to pick up others? You already know Scheme, so you have an understanding of why functional programming is an essential programming paradigm that all computer scientists should understand. Fundamentally, what Haskell brings to the table over Scheme is that its strong type system bridges the gap between regular software development and formal verification and mathematical reasoning that your CS undergrad will teach you. Pragmatically, the Haskell ecosystem is incredibly rich for a non-mainstream language. There are a ton of resources to help you get started (http://www.haskell.org) and the library/package system (cabal) is robust. | ||
wherebugsgo
Japan10647 Posts
On April 17 2013 07:12 Craton wrote: Lateral knowledge isn't necessarily improvement. His question is more "what does this do better than the others." If I can do the same thing three ways, who cares? If one of those ways does it faster / uses fewer resources / etc, THEN someone cares. yes, this was precisely my question. My apologies if it wasn't clear. I'm much more interested in learning how to program rather than learning a specific language, but if there's practical use in programming in a particular language, I'm interested now (rather than later, when I can learn leisurely) On April 17 2013 10:40 Kambing wrote: You already know Scheme, so you have an understanding of why functional programming is an essential programming paradigm that all computer scientists should understand. Fundamentally, what Haskell brings to the table over Scheme is that its strong type system bridges the gap between regular software development and formal verification and mathematical reasoning that your CS undergrad will teach you. Pragmatically, the Haskell ecosystem is incredibly rich for a non-mainstream language. There are a ton of resources to help you get started (http://www.haskell.org) and the library/package system (cabal) is robust. Alright cool, makes sense. I'd heard Haskell is popular in academia but never really knew why, apart from the lazy evaluation aspect. And what about Ruby? Is it mostly just because of Rails and web development? Why Ruby over other languages? | ||
DeltaX
United States287 Posts
On April 17 2013 11:39 wherebugsgo wrote: And what about Ruby? Is it mostly just because of Rails and web development? Why Ruby over other languages? I think Rails is the biggest part. Someone can correct me if I am wrong, but rails allows you to get going with a product sooner which reduces costs at the start, but has issues with large products being slow if they get popular. This makes it attractive to more risky projects and startups since if the product does well, you should have enough money to do something about the weaker performance, but if it does not work out it cost much less to develop. | ||
WindWolf
Sweden11767 Posts
On April 17 2013 05:17 halvorg wrote: Hey, I'm not all too strong in c++, but as far as I know you need to add a space between your last two >'s, the c++ compiler thinks you are using the '>>' operator. I've been using Visual Studio 2010, and that hasn't been a problem for me when I've done stuff like std::map<std::string, std::vector<sf::Sound*>> | ||
Kambing
United States1176 Posts
On April 17 2013 13:18 DeltaX wrote: I think Rails is the biggest part. Someone can correct me if I am wrong, but rails allows you to get going with a product sooner which reduces costs at the start, but has issues with large products being slow if they get popular. This makes it attractive to more risky projects and startups since if the product does well, you should have enough money to do something about the weaker performance, but if it does not work out it cost much less to develop. Pretty much this. Ruby isn't fundamentally different from Python so preference over one versus the other (at least from a pure language perspective) is a matter of taste. Rails is a good web framework and what many people use Ruby for (and then consequently become Ruby converts down the road). | ||
BritishPizza
United States10 Posts
| ||
ComaDose
Canada10352 Posts
On April 17 2013 23:06 BritishPizza wrote: Does hacking into someone else's computer require a lot of programming knowledge/skills? No you just stand behind them when they put their password in.... | ||
Yoshi-
Germany10227 Posts
On April 17 2013 23:06 BritishPizza wrote: Does hacking into someone else's computer require a lot of programming knowledge/skills? Only an Axe | ||
adwodon
United Kingdom592 Posts
On April 17 2013 23:06 BritishPizza wrote: Does hacking into someone else's computer require a lot of programming knowledge/skills? Well first you need to write a spline detector to comb the VHDL for the appropriate interface to allow you to successfully override a pointer to a pointer. You can then traverse the ether until you find the appropriate API and take over the keyboard. Easy. | ||
CecilSunkure
United States2829 Posts
On April 17 2013 23:06 BritishPizza wrote: Does hacking into someone else's computer require a lot of programming knowledge/skills? Well if you know of a pre-existing backdoor and can have the steps written out for you, then no. If you want to come up with your own way of doing things you'll need an understanding of: networking, low level programming, hardware, and the inner-workings of whatever OS/software you're trying to gain malicious access to. So either, "hacking another computer" is so unrealistic that it's not a thing or you have years of study. | ||
Kambing
United States1176 Posts
On April 17 2013 13:18 WindWolf wrote: I've been using Visual Studio 2010, and that hasn't been a problem for me when I've done stuff like std::map<std::string, std::vector<sf::Sound*>> Yep. Parsing >> correctly (i.e., as the closing brackets of a template rather than left shift) is a C++ 11 feature. I believe several compilers already did this as a (non-compliant) language extension. But now it is standardized as it should be. | ||
obesechicken13
United States10467 Posts
On April 17 2013 23:06 BritishPizza wrote: Does hacking into someone else's computer require a lot of programming knowledge/skills? Why are you guys misleading this poor fellow? As scholars, we have to assume his intentions are purely educational and help him. You just need to write up a short script using visual basic that bypasses the hypervisor and then unhashes the md5 password on the computer before you set up a persistent server trojan on the hacked machine to remote into it using openssh. Of course the details will vary on what OS you're trying to hack. | ||
CptCutter
United Kingdom370 Posts
On April 17 2013 07:12 Craton wrote: Lateral knowledge isn't necessarily improvement. His question is more "what does this do better than the others." If I can do the same thing three ways, who cares? If one of those ways does it faster / uses fewer resources / etc, THEN someone cares. soooo, you completely misunderstand what i said, and then state essentially what i said? "His question is more "what does this do better than the others." " is that not a search for improvement? that he seems to be asking whether its worth it? again: "If I can do the same thing three ways, who cares? If one of those ways does it faster / uses fewer resources / etc, THEN someone cares." is this not a search for improvement? which requires exploring new languages? The exact question is stated to every single believer of religion from an aetheist, proove it. how do you know that C is among the quickest, if not the quickest, language out there? its because you can proove it. but being able to proove it to someone means that you have explored that language. One thing this does not tell you is whether it truly is the fastest. Besides on another note, since when has 'ways does it faster / uses fewer resources / etc' ever been the only way of measuring a language? there are plenty of languages created for design problems, that are not as quick as C. I see plenty of reasons to use and not use Java over C++, same could be said about C, python and scheme. There are other languages that could be given the same reason. | ||
Craton
United States17234 Posts
| ||
| ||