|
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 June 25 2012 19:10 Poltergeist- wrote: What are the latest and greatest/upcoming programming languages, if any? Anyone have any idea? Does it differ possibly between the US and EU? Depends on the domain. C++, Java and PHP are still the most common languages. Web startups love Ruby, Python and JavaScript (Node.js & co), interesting new upcoming languages are JVM languages like Scala and Clojure, of which Clojure is gaining a lot of traction for a Lisp language, already used in big companies like Twitter, Amazon, Citi. There are also other languages like Go, Haskell and Ocaml which have their own userbase. As for comparing languages, no one will really give you an objective comparison, since languages become after all, ways of thought and it hurts people sensibilities when you say their language is worse. But if you're looking for a language that has cool concepts and shows a lot of promise for use in the industry I recommend Clojure (http://clojure.org/)
|
On June 26 2012 02:13 Isualin wrote: any idea why C is getting bigger? isn't it quite old?
C is very widely used basically wherever you have some kind of embedded system. Embedded system is basically any electronic device that has some form of microcontroller in it to control it, and nowadays that should be about half the things you walk by during the day. Your washing machine, your car (those have tons of it), your MP3-player, etc.
I also think it'll continue growing since the number of electronic devices in our everyday lifes will go way up in the future. The only thing that could stop people using pure C is if people started using C++ instead of C for microcontrollers.
|
Hyrule18982 Posts
|
This is the book I'm using except for the fact that mine is a first edition from 1978. Would investing in the more recent edition be worth it? I am having some difficulty figuring out what going on as it was written originally for using C in UNIX on the DEC PDP-11, Honeywell 6000, IBM System/370, and the Interdata 8/32. So yeah a bit before my time. I can understand a lot of what is written but am I causing myself unnecessary grief?
|
On June 26 2012 02:13 Isualin wrote: any idea why C is getting bigger? isn't it quite old?
Mobile devices most likely and platforms like arduino, but remember this is just speculation from a whole bunch of members. Don't count on it though, I'm already doing Javascript on my robot bunny rabbit.
I'd say Ruby and JS/Coffeescript will is be the most rapidly developing languages in popularity. Obj-C and PHP will start to slow down, with platforms like Titanium allowing developers to rapidly develop cross-platform mobile applications in "better" languages. Obj-C is completely dependent on the success of the iPhone, and a lot of people are realising how bad PHP is as a web language.
.NET basically just shifted all the old programmers who were using microsoft proprietary languages such as VB6 which at one point had 75% of the market.
Haskell and Clojure are not going anywhere. If you have seen clojure, its going to suffer the same fate as javascript, a well designed language ruined by horrible syntax. Haskell and Scala are beautiful languages, but they take too long to learn.
|
I need a little help because my brother says he can't really explain it well himself. Can someone help me as to how the Java classes, projects, etc. work? I'm very confused as to the difference between them and how they connect. A diagram of some sort might also help. (Sorry, this is probably something very simple to you programming Guru's )
|
On June 26 2012 10:59 3FFA wrote:I need a little help because my brother says he can't really explain it well himself. Can someone help me as to how the Java classes, projects, etc. work? I'm very confused as to the difference between them and how they connect. A diagram of some sort might also help. (Sorry, this is probably something very simple to you programming Guru's  ) A java "project" is a top-level package in an IDE. I don't think this term has any meaning for Java outside of IDEs.
A "package" is a statement at the head of a java file that describes where into the "class path" the class should be loaded. Other java files import that source with respect to its package.
Package hierarchy conventionally matches the directory hierarchy, but I don't think this is normative in Java. That is, I think you can put your files anywhere you want and package them any way you want. An IDE like Eclipse will probably enforce this convention for you.
A "java file" is source code containing a class(or interface, enum) definition. You can embed classes inside of classes, but the standard java compilers will complain if your java file contains more than one definition, which is why it seems intuitive to call your java file a "class" file, but that's misleading because...
A "class file" is the compiled bytecode for the JVM --- rather, an object file, but you can decompile the bytecode in a readable format.
The "class path" is a series of locations in the filesystem where the JRE should search for imported packages: in particular, where it can find class files.
Whenever java complains that it cannot find some external code you're linking to, it's probably because the code's class files aren't on your class path. IDEs have a place where you can configure the class path. If you use the command line, the classpath is simply an argument containing the concatenated directories/files.
---
So you:
1) compile MyClass.java into MyClass.class (and optionally archive it into mycode.jar). 2) MyClass.java begins with "package mypackage.foo.bar.whatever.else;" 3) If you want to use MyClass in another project, you simply add the MyClass.class file's containing directory to your classpath, or add mycode.jar to the list of libraries you want to run with your code. In your code you import mypackage.foo.bar.whatever.else.MyClass, and when you run this new package, the JRE loads up MyClass.class (or from the jar).
Note how your compiled code, and linked code, is a set of .class files, not one big static binary (bytecode, by analogy). In C, you don't throw around object code once you're done. You compile everything statically into one single executable target, or you build it for position-independent loading (a library).
|
On June 26 2012 10:59 3FFA wrote:I need a little help because my brother says he can't really explain it well himself. Can someone help me as to how the Java classes, projects, etc. work? I'm very confused as to the difference between them and how they connect. A diagram of some sort might also help. (Sorry, this is probably something very simple to you programming Guru's  )
Class stands for classification. Essentially you are classifying a particular element as a re-usable object. In Java classes must be separated into different files. You can't have more than one concrete class in a single file.
A project is a group of classes that work together to run your program.
Install Netbeans and start a new project.
Print hello world in your main class.
Build and Run. 
If you want to use another class you need to create an instance of it first. In Netbeans you can "fix imports" which will automatically create an import line for the class you are using. Create an instance, and use the methods from that instance and have your objects collaborating to achieve the result you want.
For example. Create a class called Hello. (becomes hello.java in your project explorer). With a method "hello()" that spits hello world.
Then in your main class, main method you go.
hello = Hello.new
> Right-click anywhere in the code -> Fix Imports
hello.hello()
In OOP you have a series of collaborating objects with roles and responsibilities to achieve a common goal. Its not like Pascal and C where functionality is broken down into functions and procedures in organised units.
|
Ok, thanks guys! I didn't expect so much information! TL really is becoming a great source for everything.
|
On June 26 2012 11:38 sluggaslamoo wrote:
In OOP you have a series of collaborating objects with roles and responsibilities to achieve a common goal. Its not like Pascal and C where functionality is broken down into functions and procedures in organised units.
This reminds me of the idea that "OOP is simply a way of thinking". You can write OO code in C; it just won't look as pretty XD
|
On June 26 2012 13:16 Mstring wrote:Show nested quote +On June 26 2012 11:38 sluggaslamoo wrote:
In OOP you have a series of collaborating objects with roles and responsibilities to achieve a common goal. Its not like Pascal and C where functionality is broken down into functions and procedures in organised units. This reminds me of the idea that "OOP is simply a way of thinking". You can write OO code in C; it just won't look as pretty XD
That's true. I should have said Structured Programming instead of Pascal/C.
I don't mind using ADT's in C, although it feels a little weird.
|
On June 26 2012 17:42 sluggaslamoo wrote:Show nested quote +On June 26 2012 13:16 Mstring wrote:On June 26 2012 11:38 sluggaslamoo wrote:
In OOP you have a series of collaborating objects with roles and responsibilities to achieve a common goal. Its not like Pascal and C where functionality is broken down into functions and procedures in organised units. This reminds me of the idea that "OOP is simply a way of thinking". You can write OO code in C; it just won't look as pretty XD That's true. I should have said Structured Programming instead of Pascal/C. I don't mind using ADT's in C, although it feels a little weird.
Wait until you reach the point where you start writing functional code in every language and throw function pointers around everywhere...
|
I didn't explain classpath as well as I would have liked.
Imagine the classpath as a list of files/directories, something like: "/usr/lib/sun/jdk/... ./myproject/lib/ ./MyClass" where you can include individual class files and directories of class files.
When you run Java code, the JRE takes all of that object code and resolves all of the "package" statements as a tree of Java class definitions.
Problems with the classpath occur when you import mypackage.foo.bar.MyClass and the JRE cannot find any object code in the classpath that (1) defines MyClass and (2) has a package statement that reads "package mypackage.foo.bar;"
Which means MyClass.class isn't listed in your classpath. The JRE doesn't know it exists, and it isn't going to search your entire filesystem to find it. You have to glue the pieces together yourself. Fortunately, it's as simple as locating the file and including it in your IDE or on the command line. Considering you're targeting a single platform (the JVM), this is simpler than compiling your library for multiple architectures, and then worrying about how different platforms load and link their shared libraries --- can be quite a headache. The JVM is more approachable in this regard.
|
Ok, thanks again!
|
I just had the most wonderful experience in my life. I had spent all day working on an assignment, and I could not solve it the way I wanted to. I had solved it via the teachers lessons, but I wanted to use arrays and other more complicated solutions, so I spent nearly 6 hours attempting it. Anyway, I decided to get drunk. I eventually slept for an hour, but now at 1:45 am I awoke with an answer in my brain. I immediately typed it in, and to my behold I worked. I have no idea why this happened, but damn programming can make you feel at your highest and lowest.
|
A biiiiiiiiiiiit of a stretch but anyone here familiar with VHDL?
|
On June 28 2012 14:54 Taku wrote: A biiiiiiiiiiiit of a stretch but anyone here familiar with VHDL? i certainly have forgotten most stuff, but unless you ask a real question, no one can help you anyways :p
|
|
Hyrule18982 Posts
On June 28 2012 14:54 Taku wrote: A biiiiiiiiiiiit of a stretch but anyone here familiar with VHDL? Been a while since I used it, but I did technically make a CPU with it once...
|
Does anyone have links for the very VERY basic of starters (I mentioned this earlier but I changed computers so I lost the sites) I just graduated highschool and going into CS at UNB Frederiction, so I need to learn some programming. Thanks in advance (beginner guides and such)
|
|
|
|