6 ms·
"I'm assuming, based on long observation, that Microsoft with high likelihood fucked up the pragmatics completely, and that programming in C#, as opposed to rea
by Aaronontheweb 16y ago
"I'm assuming, based on long observation, that Microsoft with high likelihood fucked up the pragmatics completely, and that programming in C#, as opposed to reading about it, is deeply depressing."
I've not found that to be true - C# is a lot of fun to work with.
- ldite 16y agoLikewise, although I've never been too sure how much of that comes from VS's auto-magic everything and refactoring tools.
- pixelbath 16y agoThe author completely invalidates this statement with the previous, "Now, I must say that I haven't ever used C#, so I don't know how it stacks up ITRW."
- shasta 16y agoHow is "Based on previous experience with MS products, <prediction about C#>" invalidated by not having used C#?
- sjs 16y agoIt's like someone talking about Mac OS X based solely on their experience with classic Mac OS. They are entirely different products created by different people, that happen to work (or have worked) at the same huge company.
- shasta 16y agoYou're arguing that company track record is not a good predictor of product quality. Fine. Nonetheless, product predictions based on company track record are not "invalidated" by not having used the product, and the author made it clear what he was basing his predictions on.
- sjs 16y agoNo, I'm arguing that track record is not always a good predictor of product quality. Very different statements.
- euroclydon 16y agoI program in Ruby, JS, Python, and C#. I love the dynamic and functional aspects of JS and Python. Once you get up and rolling with a C# project, using all the new v3.5 and v4.0 features is very pleasurable, but the facts that it's a compiled language, all but requires Visual Studio to be effective, and that getting a project up and running can be such a pain, all create a barrier to entry and to simply playing around with it. On the other hand, you do have the dynamic .NET languages like IronRuby and IronPython to play with, but you write code totally different in them than you do in C#, so it's really an either/or situation, which doesn't help.
- kenjackson 16y agoWhy is getting a project up and a running a pain? I can get a simple project up and running (a simple dialog with four buttons that moves a ball in the window) in about five minutes. That's from a no VS, to starting VS, creating the solution, writing the code, compiling, and running the app. How long should it take? And note, most of the time is spent writing the code (~4 minutes).
- euroclydon 16y agoIt just feels wrong when a dynamic language doesn't come with a dynamic interpreter.
- troygoode 16y agoC# isn't a dynamic language - it is totally static. The introduction of the "dynamic" keyword in 4.0 has confused some people into thinking it is truly a dynamic language, but in actuality that keyword is just a compiler hint that causes any references to that "dynamic" variable to use run-time reflection.
- mquander 16y agoSpeaking for myself, it's not getting a "project" up and running that's a pain, it's getting a single line of code up and running. I don't like to have to make a project (or even a Main method) to do that; I would prefer a REPL. When working on a big project, if I want to just test out a piece of code, I actually find myself launching the project, pausing it, and using the "Immediate" window in Visual Studio as a REPL, even though it's inconvenient for the purpose.
- j_baker 16y agoC# would be awesome except that it is a very "IDE intensive" language. Don't get me wrong, Visual Studio is a very good IDE (and MonoDevelop is shaping up nicely), but I'd still prefer vim or emacs as opposed to needing a fancy IDE to be very productive.
- deleted 16y ago[deleted]
- sbt 16y agoI use Emacs/Eclipse in my job because I work with Erlang/Java, but previously held several C#/VS positions. I sometimes get the feeling that people who haven't worked with this combo don't realize how powerful it is. Visual Studio is great as an IDE for C/C++, but C#/VS just becomes an extremely productive experience, quite unlike Java/Eclipse (though the latter is getting somewhat better).
- hga 16y agoBack when I was using VC++/VS pre .NET for C/C++ I did all my editing in EMACS. Messy when I changed the line numbering out from under debugger breakpoints but it otherwise worked very well. How practical would that be nowadays?
- olavk 16y agoC# is designed with IDE support in mind. For example, in Linq the "map" syntax is: from a in b select a.x This syntax is actually backwards compared to both SQL and list comprehension syntax is most languages, which have the selector expression is before the input list. E.g in SQL: select b.x from b Or list comprehensions (in eg. Python): [a.x for a in b] So why did MS change the syntax like this? Most developers already knows SQL syntax, and Linq queries are supposed to be able to map directly to SQL. The reason it that it is not possible to provide code completion in the selector expression if the type of the list is not yet known. Hence in C# the list is written before the selector expression, so the editor helpfully can list all a's members when typing `select a.` Another example is "Partial Classes" which is a curious language feature which makes it more smooth to work with UI-designer generated files, but which I don't think has any useful function outside of an IDE. I don't think many other languages are designed with IDE support in mind in such a way. This makes it possible to provide a very smooth IDE experience.
- felideon 16y ago_You_ may think it's fun to work with, and I guess it depends on what you think is fun (programming in Chef sounds fun, but is it pragmatic for what you're doing?). And here's my comment to another comment on the blog post: The question is not whether you've used C# extensively and think it is pragmatic, but whether you have used anything better (e.g. Common Lisp) and _still_ think it's as pragmatic you once thought it was. If you say that C# is more pragmatic than, say, using COBOL for an web application, then sure. But the author of this post is correct insofar as new C# features sound a lot better on paper than how they really stack up when wanting to express yourself in code. Not to even mention that if you go outside of the OOP/procedural paradigm in C# and start coding using functional-style language constructs, C# gets pretty ugly pretty fast.
- kristiandupont 16y agoIn what sense is Common Lisp "better" than C#? Do you consider it better for web apps?
- felideon 16y agoI could put in my own, wannabe lisper words, but I think pg explains it well: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html And yes, I actually wish I had more time to spend learning Lisp and using it for web development as well. See my blog (http://ifelipe.net http://ifelipe.net) for what it's worth---though it's on a bit of a hiatus.