most recent 30 from softwareengineering.stackexchange.com2025-05-01T21:05:09Zhttps://softwareengineering.stackexchange.com/feeds/tag/java+programming-languages+chttps://creativecommons.org/licenses/by-sa/4.0/rdfhttps://softwareengineering.stackexchange.com/q/3884322Ellen Spertushttps://softwareengineering.stackexchange.com/users/558192019-03-11T23:57:25Z2019-03-12T02:12:54Z
<p><a href="https://www.tiobe.com/tiobe-index/" rel="nofollow noreferrer">The TIOBE Programming Community Index</a> shows Java and C dramatically falling in popularity between late 2016 and mid 2017 before rebounding by mid 2018. What is the cause of the volatility?</p>
<p><a href="https://i.sstatic.net/W9Vvm.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/W9Vvm.png" alt="The TIOBE index graph, showing a comparison of the popularity of various programming languages."></a>
Source: www.tiobe.com</p>
https://softwareengineering.stackexchange.com/q/10590292nikohttps://softwareengineering.stackexchange.com/users/350642011-09-05T09:23:33Z2019-03-04T14:06:49Z
<p>Why did the C master <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie">Dennis Ritchie</a> introduce pointers in C? And why did the other programming languages like VB.NET or Java or C# eliminate them? I have found some points in Google, and I want to listen your comments too. Why are they eliminating pointer concepts in modern languages?</p>
<p>People say C is the basic language and pointers is the concept that makes C powerful and outstanding and makes C still to compete with more modern languages. Then why did they eliminate pointers in more modern languages?</p>
<p>Do you think knowledge of pointers is still important for new programmers? People are using VB.NET or Java these days, which supports more highly advanced features than C (and does not use any pointer concepts) and many people as I see now (my friends) choose these languages ignoring C as they support advanced features. I tell them to start with C. They say it's a waste to learn the concepts of pointers when you're doing the advanced things in VB.NET or Java which are not possible in C.</p>
<p>What do you think?</p>
<p><strong>Updated</strong>:</p>
<p>The comments I read on Google are:</p>
<ol>
<li><p>The earlier computers were too slow and not optimized.</p></li>
<li><p>Using pointers makes it possible to access an address directly and this saves time instead of making a copy of it in function calls.</p></li>
<li><p>Security is significantly worse using pointers, and that's why Java and C# did not include them.</p></li>
</ol>
<p>These and some more what I found. I still need some valuable answers. That would be greatly appreciated.</p>
https://softwareengineering.stackexchange.com/q/33550468Velovixhttps://softwareengineering.stackexchange.com/users/2528422016-11-07T02:26:21Z2016-11-10T09:23:56Z
<p>Languages like C, Java, and C++ all require parenthesis around an entire expression when used in an <code>if</code>, <code>while</code>, or <code>switch</code>.</p>
<pre><code>if (true) {
// Do something
}
</code></pre>
<p>as opposed to</p>
<pre><code>if true {
// Do something
}
</code></pre>
<p>This seems odd to me because the parenthesis are redundant. In this example, <code>true</code> is a single expression on its own. The parenthesis do not transform its meaning in any way I know of. Why does this odd syntax exist and why is it so common? Is there a benefit to it I'm not aware of?</p>
https://softwareengineering.stackexchange.com/q/3021762edanielshttps://softwareengineering.stackexchange.com/users/1616112015-11-09T23:15:54Z2015-11-10T10:37:03Z
<p>I've seen most languages have it be the case for their substring method that using the length of a given string in the method as the start index will give you an empty string. It is most definitely helpful when writing algorithms involving successive shortening of the string down to an empty string. The problem I have is that it makes most of the summaries of these methods/functions look inaccurate when they describe the result.</p>
<p>For instance, Java's substring for String states that "The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.". This makes sense for all values 0 <= i < len(string). As soon as you use len(string) however, what does that index refer to? In a language like C using C strings, it naturally becomes the null terminator which we treat as an empty string. The implementations I've seen specifically check the range of the indices to be [0, len(string)]. When only one argument is specified we will take the difference between the start index and the length of the string which happens to work out to 0 for startIndex=len(string).</p>
<p>I've come to believe this is just an unspoken convention among languages that go back to the roots of NULL terminated strings to act as empty strings. Can anyone shed some light beyond it's just the way it is?</p>
https://softwareengineering.stackexchange.com/q/6661436Ameenhttps://softwareengineering.stackexchange.com/users/225472011-04-09T01:24:34Z2012-03-05T08:37:15Z
<p>Programming isn't alien to me. I first starting doing markup (HTML, now please don't laugh at me) when I was 12 and a little bit of BASIC when I was 13 (I knew much about Flowcharts, Pseudocodes at this point), but then I was admonished into Biology in high school and hence missed out on "real" programming knowledge of languages such as C, Java, etcetera. I took up CS for my UG B.E. (similar to BS, but way more theoretical). I learnt C & C++ (to a lesser extent) on my own (my prof was a total pain and the class was filled with code-jocks (who had already learnt it in school, and hence paid no attention to class and didn't let lesser mortals like me to pay any attention to class either)) and could whip up an awesome addition or multiplication program (ones which now even kinder-gardeners' whip up with way more finesse) and a piss-poor knowledge of Java (which has even grown rusty in recent times).</p>
<p>My main problem is that I've always felt inadequate and strangled by my limited programming skills and belittled by the code-jocks (believe me, I've come across this site ages ago, but could just now build up the courage to actually post a question) and have been at times even depressed over said inability. Most people say that Programming isn't necessarily about the language but the state of mind that the person has and the techniques they employ to solve problems/issues. I agree with such sentiments, but can I ever acquire such a "state of mind", and if such how should I approach "Programming/Coding", and if there are any set ways and steps one most go through to attain the "Zen of Coding". How do I do so? Also, it wouldn't hurt if some Saint wanted to mentor this downtrodden piece of $#!^. </p>
<p>P.S. I would forever be grateful to any person who considers me worth their time, and as a bonus would name my first piece of Software I ship after them. (If I ever get to ship one, i.e.,)</p>
<p>TL;DR: Never really learnt "Programming/Coding", can't solve problems even if I try to. Help me!</p>
https://softwareengineering.stackexchange.com/q/679456Avehttps://softwareengineering.stackexchange.com/users/02011-04-13T20:20:25Z2011-04-18T10:34:11Z
<p>I am fairly new to programming, I have studied in computer science for 3 years at college, but as you know, school is only 2% of what really makes one a fully-fledged programmer.</p>
<p>I have a lot of trouble understanding why people say language x is more efficient that language y. I only understand when it comes to pre-compiled vs runtime compiled. I understand defining data types like a constant in code is bound to be faster than letting the computer/language figure it out(like php or ruby), but when it comes to using C or Java what is it that makes C faster? Aren't they both going to be compiled into machine language in the most efficient way possible?</p>
<p>To me, it seems as if the only difference between using a language like C or Java is; a higher level language like java would be easier to organise and write/maintain large applications with classes and inheritance. But I feel as if it should really make no difference when once it is compiled. Can someone explain?</p>
<p>btw i only know higher level languages like php, java, ruby, vb, c#. Maybe that's why it is hard for me to imagine? the next language i want to explore is most probably C</p>