Theodoros Chatzigiannakis

less info
288 reputation
bio website
location Athens, Greece
age 24
visits member for 1 year, 8 months
seen 5 hours ago

Who I am

  • Undergraduate in Electrical and Computer Engineering.
  • Member of the IEEE and the IEEE Computer Society (formerly member of the IEEE Communications Society).
  • Hobbyist programmer since the age of 10.

What I use

  • I currently prefer to develop in C# and Java.
  • I use C, x86 ASM and JavaScript situationally.
  • I've also used C++, VB.NET, Ruby, Python, PHP, Prolog, UnrealScript and Vala at one point or another.

comment Why is software OS specific?
Even if APIs are "not part of the operating system", they are still different if you go from one OS to the other. (Which, of course, raises the question of what the phrase "not part of the operating system" really means, according to the diagram.)
comment Going through The C Programming Language K&R in Visual Studio
These are quite different languages. C++ is inspired by C and C# is inspired by C++ and Java, but they are by no means the same language, not by a long (or "long int", in C) shot.
comment When should the programmer's spoken language be used during development?
While I don't have an answer to your question, I feel I should point out something. Whatever answer you choose to follow, consider whether that answer would apply equally well to speakers of languages with more "exotic" alphabets - Greek, Russian, Indian, Chinese, Japanese, etc. (That is, would you be okay with the possibility of ever seeing identifiers in these alphabets, assuming the compiler supported it?)
comment Why are interfaces called interfaces?
@GeorgeHowarth Yeah, but interfaces can mean other things too. For example, an API can expose no "interface" types at all.
comment Does C++ compiler remove/optimize useless parentheses?
Um... What kind of optimization are you expecting, exactly? If you're talking about static analysis, in most languages I know of, this will be replaced by the statically known result (LLVM-based implementations even enforce this, AFAIK). If you're talking about execution order, it doesn't matter, as it's the same operation and without side effects. Addition needs two operands anyway. And if you are using this to compare C++, Java and C# regarding performance, it sounds like you don't have a clear idea of what optimizations are and how they work, so you should focus on learning that instead.
comment Why is there a new() constraint in C# but no other similar constraint?
@AvnerShahar-Kashtan I don't know. It may be an artifact of the compilation/decompilation process, like the t variable (which could be replaced by nested return statements).
comment Why is there a new() constraint in C# but no other similar constraint?
Thanks, this is does answer my question partially: Near the end of his answer, Eric Lippert mentions that it's a limitation of the IL and including this feature would require an addition to the IL. It'd be perfect if you could provide a source on what IL is generated for the part that is implemented - that is, generically calling a default constructor.
comment Why is there a new() constraint in C# but no other similar constraint?
@RobertHarvey Yes, it is exactly what I'm saying. I'm essentially asking whether there's something that makes default constructors special implementation-wise or if it was just an arbitrary choice to include this and not the other.
comment Introducing polymorphism to new programmers
Well, you're right, it was a hasty overstatement. I've changed it to "some".