• 0

Python, Java and C


Question

Yes, I can look them up on Wikipedia, and I plan to. However, I want input from you, assuming you've used the languages. Basically, the University of Toronto has always done Java first year, then moved on to Python and C in later years. Next year, they plan to do Python first year and Java and C in later years. I haven't touched any of these languages yet, but I think we're starting Visual C later on in the school year. I'd like to start learning one of these in the summer, but I'm not sure where to start. Which one I learn also affects how I organize my first year at the university, as first semester is the old way and second semester is the new way.

So, anything at all you guys can tell me about them, their differences, their strengths, which you recommend learning first (not necessarily because it's easier) and so on...

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

java and c are somehow similair so if you start one youll find it easy to start the other

ive never used python though so i cant say anythign about it

Link to comment
Share on other sites

  • 0

just did a unit on python in year 1 semester 1 at uni, its pretty simple, and annoyingly clumsy with variables.

Doing Java now this semester, love it!

Link to comment
Share on other sites

  • 0

Java is slow and memory intensive. The only thing i like about it is its nice API (well documented as well)

C is very versatile. You can do just about anything with it

Python is a script. As far as scripts go, it is VERY powerful. I would say probably more powerful under Linux (I believe this is its native platform?)

I would recommend learning C. Pretty much everything stems from C.

Link to comment
Share on other sites

  • 0

C because it's powerful, easy to learn, and it's necessary to understand the working of a procedural language first. It also lays the groundwork for understanding OOPLs like Java. So C++ or Java should come next, not before. I don't know anything about Python, so I can't comment on that.

Link to comment
Share on other sites

  • 0

Visual C++ = (C++) + (Microsoft Proprietary Stuff)

Python is definitely a good language to learn because it is simple to understand, but very powerful at the same time. Nice OO design. I use it all the time and would highly recommend it.

C/C++ are also another language that are good to learn. Really, once you learn C/C++, everything is a piece of cake. Just like Robgig1088 said, pretty much everything derives from C/C++. Again, I use it all the time and would highly recommend them.

Java, eh. I mucked around with it but didn't find it compelling enough to use. The language itself is pretty verbose. I find that Python and C/C++ cover pretty much everything. Maybe a little sprinkling of ASM for optimization, but very rarely. Perhaps if I did cross platform work I would be using Java, but since I exclusively target my code to Linux there no need for cross-platform compatibility.

My recommendation, if you really want to do GUI work, as the Visual C++ implies, is to try something like GTK+. Its cross-platform and simple to use. There are even Python bindings, if you don't feel like coding in C/C++. http://www.gtk.org/

[edit] Basically C/C++ > Python > Java > Visual C++

Once you go Visual C++ your bound to Microsoft technology. Windows API, DirectX, etc.

Link to comment
Share on other sites

  • 0
Let me rephrase that. How does Visual C compare to the three in the title? Would it make sense to learn them: Visual C > C > Java/Python

Well, I dont think you can "directly" compare Visual C to C since Visual C is just the IDE, but as dduardo implied, it is a bit Microsoft's dependent, in the sense its not quite standards-compliant, as for example, GCC is.

As for the new Visual Studio, I havent tried it much (just at work in my free time), so I cant say anything about the new API (Microsoft Foundation-Something, the new thing next to the WinAPI and MFC), but the old one = :pinch:

Python? Its very cool, very refreshing, but that is just me, as in, I love learning as much languages as I can :laugh:

But its cool man, its a cool language, maybe recommended for beginners.

Java? Im very good at it to be sincere, but because I was "forced" to use it at uni :shifty: But wouldnt recommend it as I hate VM-based languages (though the trend seems to be going there... but I made my mind with C# already, if C/C++ are ever taken down the ladder.. and that seems something not so crazy, to see in the not-so-distant future).

C? I'd recommend it 100%.

Look, if you're going "commercial" or thinking to, Visual Studio should be fine... but if you ever thought of multi-platform , open-source and the like.. then try to use something as Code::Blocks, and WxWidgets as the GUI Toolkit... I seriously recommend both :yes:

WxWidgets also has a ***load of bindings for most languages.. including Python, Ruby, Lua, C# etc.

Link to comment
Share on other sites

  • 0

Ugh, change of plans. My teacher only has textbooks for Java, so we'll be learning that. I guess I'll try some C in the summer. Then at university I'll learn python and expand on C and Java, or at least that's my plan :)

Link to comment
Share on other sites

  • 0

I've learnt C before. It's true that once you've learnt C before, it will be kick-start for you to learn other languages like C++, Java and PHP. As for Python, it's becoming popular due to the higher usage of big company like Google. IMO, it's logic that works in every language.

Link to comment
Share on other sites

  • 0

Am... Only three years and free languages...

I my country, first year you must learn C, Pascal and C++.

Next year now you will be need to learn JAVA, SQL, ASM and Python and some other languages.

The third year you could choose from very long list, maybe C# and even some students go to USA, some kind of Microsoft students program. Or course cryptography basics and algorithms.

At the same year you will need to write your own OS, that would take 3-6 months and one smaller program for data compression.

Fourth year - no information on this one.

And etc. in addition there are lot of other things you would be learning, like XML, JavaScript, XSLT, ...

And all universities are using Debian for programming, if your program works under Linux, it will work on the other platforms.

I am just curious, why in the other countries, such as USA and UK you need to learn just one or two, three languages. I went to ones university presentation and they said that I would be learning 3 years only JAVA.

P.S. That was only standard informatics studies, there are higher levels...

Link to comment
Share on other sites

  • 0

Learning the syntax of any language is the easy part, regardless of how it's implemented. Learning how to use the language properly and efficiently is a completely different discussion. C is not like Java. Maybe in terms of syntax they are similar, but they are two completely different languages.

Visual C++ is an IDE on Windows for C++. It allows you to interface with MFC and Windows API calls pretty easily, in addition to providing a good developing environment. Just because the application itself was made by Microsoft and the application *can* interface with MS-specific calls, does not mean that it will automatically suck your application into MS lock mode. The IDE only completes actions when you tell it to do so. If you want to create a horribly designed application that doesn't extend well, then it's going to let you do it. It can hold your hand if you want it to, but you actually have to cross the street.

In the end, you have control over what is generated. I've read the same stuff regarding ASP.NET and Visual Studio 2005. "Well, I like to have control over my application and Visual Studio takes control away from me and generates code." No, you told VS to complete an action that generates code and it did it. You could have easily worked in 100% code editor mode, did it yourself and tied it into XYZ multi-platform library.

If you want to create a Windows application in C++, then Visual C++ is able to support you out of the box. If you want to create console applications in C++, it can also support you. If you want to use it to tie into another framework, it can help you, but you have to teach it.

It's about the right tool for the job. Use whatever makes your life easier. VS provides a lot of tools to make my life easier (refactoring, debugging, etc..) and that's why it's *one* of my tools. Using an editor like Notepad or WordPad will not get you an award, nor will it make your ePenis bigger.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.