Archived

This topic is now archived and is closed to further replies.

Am I being unreasonable?

This topic is 5507 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok I have this college professor ( for c++ class intro to computer scienceII ) who has assigned a paper with these specs: "To help us better understand where C++ fits into the world of programming (and as part of Exam #2), you will be required to write a technical paper on how a component of C++ compares with a similar component in another programming language. " Well ok that sounds nice and all but would''nt you have to know another programing language to realy do that? The examples he gives are these: "Some example topics may include: -How plymorphism works in C++ compared to Java -How Java''s standard library compares to the new C++ standard library -How C++ standards are developed as compared to Java standards -How C++ compares to C# (Microsoft''s new programming language) -The functionality of the C++ STL as compared to the built-in libraries of other languages (such as Java, Modula-2, ADA, etc) -Visual programming in C++ as compared to Visual Basic " Ok so can you realy do any of those without knowing Java , C# ,Modula-2, ADA, etc... Can anyone put me onto the info (ie a website etc ...) that would help me here? Any help you can give is appreciated. "... thats the rub...

Share this post


Link to post
Share on other sites
Isn''t college all about learning? What would be the point of asking you a question comparing things that you know a lot about?


http://www.stodge.net - the powerhouse in personal commentary

Share this post


Link to post
Share on other sites
You don''t know anything but c/c++? okok


I''d try to find some article on the internet that compares two languages for you, and derive from that (as little as possible, of course)

Share this post


Link to post
Share on other sites
Just Google. I can tell you from personal experience that there is a vast selection of sites, guides and tutorials written to introduce C++ programmers to Java, which often give you a pretty good overview of the most striking differences.

Share this post


Link to post
Share on other sites
I agree and I dont mind learning this stuff at all, but come on learning a whole other language so we can write this paper? Mabey im just being a wuss but it seams strange to me.

"... thats the rub...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
-How plymorphism works in C++ compared to Java


Google searche on: static binding, late binding, type introspection, run-time type-interface (RTTI), instanceOf keyword, multiple inheritance vs. single inheritance and interfaces/protocols. I''d pick this one, but if you don''t know much about OO in C++ you''re hosed.

quote:
-How Java''s standard library compares to the new C++ standard library


quote:
-The functionality of the C++ STL as compared to the built-in libraries of other languages (such as Java, Modula-2, ADA, etc)


Basically the same question with the latter being more general. You could take the approach of comparing and constrasting purely OO-based libraries (Java) against more generative-based librararies (STL). You would probably fall into the trap of arguing OO against generative programming though, which obviously isn''t what your assignment is about. I wouldn''t do this one as you have to have in-depth knowledge of a languages libraries to accomplish it. Pass.

-
quote:
How C++ standards are developed as compared to Java standards


Politics. Pass.

quote:
-How C++ compares to C# (Microsoft''s new programming language)


Too broad. Pass.

quote:
-Visual programming in C++ as compared to Visual Basic


You would have to compare VB to a specific visual programming environment built around C++. If you know of one such tool and can tinker with it a bit you could make a decent argument. VB is easy to learn but you would probably be expending too much effort in the learning of it. Pass.

You could argue type-safety mechanisms in C++ against a language like ML (Ocaml), ADA, or Scheme, but that would require some rather involved understanding of type-safety as a fundamental issue in program correctness. C++ is basically an offender on this front because it allows type coersion (casting). Might be worth a shot. Basic Scheme and ML take around a week to learn, if that.

Another topic you could argue is how the module system in C++ compares to one in another language. Java and ML come to mind as worthy opponents. ML has functional modules and Java solves the problem of having to type things twice (.h and .cpp) as well as providing more standardized ways of packaging code, such as jar-files and packages.

I could blabber on for even longer... but I''ll stop.

Share this post


Link to post
Share on other sites
quote:
Original post by Hamlet
I agree and I dont mind learning this stuff at all, but come on learning a whole other language so we can write this paper? Mabey im just being a wuss but it seams strange to me.




I can''t really suggest anything else that hasn''t already been mentioned (Google...), but just so you know.... for my Comp. Sci. class we just had to write a paper stating the positives and negatives (language design wise) of LISP (we actually used Scheme...) Anyway, we also had to write 5 programs which all used different aspects of the language and these programs were to be discussed in the paper as well... all due within one week. The catch is, "we" had never seen LISP or anything LISP-like before (they only teach C++ and a little Java...and very few people actually learn anything outside of class...) So you''re not alone in having to learn a new language just to write a paper. Sorry that it''s kinda a useless post, just thought you might like to know.

-Adam

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
Another topic you could argue is how the module system in C++ compares to one in another language. Java and ML come to mind as worthy opponents. ML has functional modules and Java solves the problem of having to type things twice (.h and .cpp) as well as providing more standardized ways of packaging code, such as jar-files and packages.

Best suggestion yet. C++ needs to eliminate header files - or at least make them optional (binary packages that expose public interfaces themselves are one elegant solution) - and forward declaration.

Share this post


Link to post
Share on other sites
I would suggest you take a language that is DIFFERENT from the mainstream. C++ and Java share too much.

Try:
- Smalltalk.
- Haskel
- Lisp
- Logo (if you can still find a runtime).

THIS gives you an insight into different paradigms.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
That does sound like a pain in the butt paper, but there have to be tons of resources on internet comparing languages. Find a few, put ''em in your bibliography, and quote quote quote quote quote.

Share this post


Link to post
Share on other sites
"That does sound like a pain in the butt paper"

No, it sounds like something good programmers make for fun. I assume I have forgotten more programming languages than you have learned so far. Counting to 12 right now that I learned and USED in the last 15 years.

Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
No. Good programmers make programs for fun. Pretty much all papers are a pain in the butt (at least for school). Mainly because the mark you receive is completely subjective and based on how much your views align with those of the professor and/or marker. I had a similar assignment for a programming languages class where we had to design our own langauge and state what features would go in and what would stay out. All those who wrote languages like Prolog (the profs favorite) did better than those who wrote languages like C++.

If I were Hamlet (which I''m not), I''d go with comparing STL to Java''s Standard Library. Chances are you can find the design goals of each of them on make comparisons to portions that do the same job. You don''t have to learn the language (which I doubt your prof actually wants you to do), but you will have to read some tutorials and possibly some white papers (which I suspect your prof wants you to do)



University is a fountain of knowledge, and students go there to drink.

Share this post


Link to post
Share on other sites
As part of my job i have been asked to write a document comparing visual basic, python and ruby. I have no intention of learning them completely in order to understand their core differences. Obviously I have a rough understanding of them from articles I''ve read and the little amount of visual basic, perl and ruby i''ve used. I can find detailed descriptions of the languages specifications etc and can compare and contrast their abilities without being a guru.

That''s what your professor wants you to do. Be able to understand the key terminology to do with the two languages, what it means, what the tradeoffs are, possibly how a feature can be approximated in the other language. These are things that can be understood without going in depth.

Actually it''s been a really interesting exercise for me and I intend to make more effort to use python in my work when it''s appropriate (ie within the bounds of company policy. It''s appropriate to use python far more than i would be allowed to).

In answer to your question: yes

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The best way to use Python is to make all your files as such:

somefile.py

  
#!/usr/bin/ruby

..


Or, if you''re forced to work in a Perl environment:

somefile.pl

  
#!/usr/bin/ruby

..

Share this post


Link to post
Share on other sites
On the first day of my data structures class while going over the syllabus the professor said we had a mid-term paper to write about a "new" data structure. I got up, went the registers office and dropped the class. In the DS class I did take, the mid-term was to write a b-tree (and a test harness for it which processed a file that instructor provided at the mid-term).

Imagine being a chemistry major, and having to write a paper comparing two chemicals, or about a new chemical. Perhaps if you were obtaining a B.A. this would be reasonable, but for a B.S. the assignment ought to be to fabricate a particular chemical while emulating laboratory proceedings.

Hamlet, you need to find out if the instructor wants this to be a regurgitation of class material or something that contains your own analysis. If it''s the later, then you actually need to do work and provide conclusive or at least valid arguments (have you taken a logic or philosophy class yet?). If it''s regurgitation, then you need good notes and some elaboration.

Also, what type of paper is this supposed to be?
A literary style essay, wherein you pick a narrow topic and attempt to "prove" some utterly subjective or highly-conditional opinion in a forced, unethically bias fashion? A work of science wherein you maliciously fabricate data to meet your political goals? Or an academic treatise of mind-numbing abstraction that holds no practical value? Or an executive summary of blindingly obvious statements?

Share this post


Link to post
Share on other sites
quote:
Original post by petewood
As part of my job i have been asked to write a document comparing visual basic, python and ruby.

This sounds like the sort of thing which management asks for, expecting to be able to understand the differences in a couple of sentences. Unfortunately, it''s far more difficult.
quote:

I have no intention of learning them completely in order to understand their core differences.

That sounds sensible, but learning a language is far more than a simple matter of syntax (as I''m sure you''re aware). I always say it takes around 6 months of significant use and studying to really figure a language out. There''s various factors you simply can''t appreciate just by looking at syntax. For example, what synergy do you achieve with a combination of various language features? What are the common idioms you need to use to communicate your intent to other programmers? Obviously, it''s not feasible to learn each language well and pit them against one another fairly, so what do you do? In industry, there are usually firmer criteria which help you make a decision. Unfortunately, those criteria are most often political. Things such as "what do our programmers currently know?", "how well supported is the language?", "how much does it cost?", "how long will it be around?" are all questions that get asked.

Unfortunately, some folks completely swallow the hype put out by companies like MS, Sun and IBM, and end up asking meaningless questions like "is it a pure OO language?" It''s really unfortunate that the people who make these decisions tend to be technically clueless, so let themselves be guided by buzz. For instance, the fact that some people think Java is superior to C++ because of what it left out is absolutely ridiculous, and is actually a symptom of "stupid programmer syndrome". If you have intelligent developers, you don''t need a syntactically emasculated language.
quote:

Obviously I have a rough understanding of them from articles I''ve read and the little amount of visual basic, perl and ruby i''ve used. I can find detailed descriptions of the languages specifications etc and can compare and contrast their abilities without being a guru.

Another useful source of information is Usenet. Groups such as comp.lang.python are actually very mature in discussing language comparisons, and you can read discussions of the relative merits of Python, Ruby, Perl, Lisp, Smalltalk, C++, etc, with a refreshing lack of childish arguing. If only the Gamedev community were more mature.

Share this post


Link to post
Share on other sites
Do a comparison of Brainf*ck (or some other obscure language, say, err, Amiga E) against C++

I very much doubt he knows what brainf*ck is... so he''ll have to do some research himself to be able to mark it


Stu M

Share this post


Link to post
Share on other sites