11 ms·
C# 6.0: An Introduction
- kule 11y agoThis article doesn't seem to have any info on the syntax changes yet - here's a run through: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 https://github.com/dotnet/roslyn/wiki/New-Language-Features-...
- jasode 11y agoFyi, Mads Torgersen from Microsoft has given several "What's New in C# 6.0" presentations: https://channel9.msdn.com/Search?term=torgersen#ch9Search&pubDate=year https://channel9.msdn.com/Search?term=torgersen#ch9Search&pu... You can pick the 7 minute quick overview, or the 1 hour session at Ignite2015. (Side note to the poster... your blog layout displays a constant masthead using over 40% of the width. A technical audience for your blog might find it excessive to have that much space dedicated to "brand awareness" about your availability to create custom websites.)
- bookerio 11y agoIndeed, those are some really nice resources. Thank you for mentioning them. In response to your side note: 40% is a bit of an exaggeration (unless your resolution is extremely low) but I do appreciate your point - I can see how the masthead might be a bit obnoxious. I will tweak the theme accordingly in the near future. Thanks.
- jasode 11y ago> 40% is a bit of an exaggeration (unless your resolution is extremely low) No, it's not exaggeration. I'm measuring the width of your actual text content. I'm guessing you're measuring the width of the browser window which is not relevant to the ratio calculation. Your masthead takes up 530 pixels. The total width from left edge of masthead to right edge of actual text is about 1296 pixels. On my Chrome browser, even if I maximize the window (press F11) to be 2560 pixels, your text content still maxes out at 1296 pixels (which leaves 1264 pixels of empty space on the right). 40.9% = 530/1296
- deleted 11y ago[deleted]
- Encosia 11y agoHis layout seems fine to me. Out of curiosity, I shrunk the sidebar down to 20%, but found that the main difference was that it made the content's line length uncomfortably long to read.
- Scramblejams 11y agoAgreed, the sidebar width is overwhelming. On the other hand, if the purpose of the blog is to advertise his services then the sidebar being obnoxious might be the point, however unpleasant it might be.
- VinzO 11y agoI take the opportunity of this thread to ask for good ressources and books to learn C#, .NET, databases. I have a background in C, C++ for embedded systems but I would like to learn higher level stuff. Any recommendation on where to start? The final goal would be to be able to switch career from embedded to higher level development.
- aikah 11y agoC# isn't hard to learn , it's one of the easiest language to pick up , and Visual Studio will make you productive in no time. The hardest is usually the APIs and diverse libraries and frameworks you'll have to know, what do you want to do ? Web dev? windows apps ? Plural sight has good education material that covers all these topics.
- ghuntley 11y agoCheck out https://github.com/quozd/awesome-dotnet https://github.com/quozd/awesome-dotnet :-)
- rottyguy 11y agoIf you know C++, the C# will be easy for you. Pick a program you have in C++ and convert it to C# (well maybe not an embedded one; just yet :-). You can download a free copy of visual studio community edition (https://www.visualstudio.com/products/free-developer-offers-vs.aspx https://www.visualstudio.com/products/free-developer-offers-...) and go. Feel free to PM me if you get stuck. I'm no one special but have years on the stuff (and was in c++ for years prior).
- douche 11y agoC# the language is pretty simple, or at least it can be - you can produce some monstrosities if you really try, but some of the gnarliest bits of C++, like arbitrary operator overloading and template abuse, are pretty blunted. The difficulty lies in the extreme breadth of the ecosystem - just the libraries built into the .NET framework itself could take you years to acquire a healthy knowledge of, not to mention the couple dozen most-commonly-used libraries on NuGet. Ultimately, I think the best thing to do is just jump in and start a project that you're interested in. Accept the fact that you'll be hitting StackOverflow all the time, and when you're there, pay attention if you see comments and answers from Jon Skeet, Eric Lippert, etc. There are some decent email link-dump newsletters that are good and have a .NET slant, like Morning Brew[1] and Morning Dew[2], which can help keep you up on what's new, and often link to articles explaining various nooks of the .NET world. Avoid CodeProject - most of that shit is old, poorly written, and as often as not incorrect. Once you have your bearings a bit, C# In Depth[3] is a great resource on the nittier, grittier details of C# and the .NET framework. [1] http://themorningbrew.net/ http://themorningbrew.net/ [2] http://www.alvinashcraft.com/ http://www.alvinashcraft.com/ [3] http://amzn.to/1fv0zNH http://amzn.to/1fv0zNH
- mcintyre1994 11y agoFYI Alex: > Read-Only Auto-Implemented Properties - Allow you to omit the getter from an automatic property, which makes it read-only. This should be omit the setter right? :) BTW, is there somewhere I can get notified as the new chapters become available? I'll probably miss the tweet and I don't think this is your blog?
- bookerio 11y agoThank you so much for pointing that out. I have [updated](https://github.com/alexbooker/articles/commit/735f8558851ce3af08b5d2a58465264d11b16e48 https://github.com/alexbooker/articles/commit/735f8558851ce3...) the article. Thank you for your interest in the series, too. If you want to be notified when new articles come out, you could [subscribe](https://booker.codes/rss/ https://booker.codes/rss/) to the blog via an RSS client or you could "watch" this [GitHub repository](https://github.com/alexbooker/articles https://github.com/alexbooker/articles).
- WeaselNo7 11y agoThere seems to be a bug at the end of the first page ('an introduction'), where the link to the subsequent page loops back to the introduction page!
- srean 11y agoJust to put it out there: If you like C# the language but rue the fact that it will execute on a VM layer, you might want to take a look at D. Especially if you are into number crunching with small memory footprint, it seems C# is not a good language for that. Otherwise, there is really a lot to like about C#
- jaked89 11y agoC# doesn't "execute on a VM layer". It's compiled to native code before execution, in a process known as JIT. http://www.telerik.com/blogs/understanding-net-just-in-time-compilation http://www.telerik.com/blogs/understanding-net-just-in-time-...
- srean 11y agoGiven the scarcity of non-scripting language VMs that do not use JIT, this is what I mean by VM layer nowadays. There is whole lotta difference between execution of a "AOT compiled to machine code, potentially profile guided if need be" program and a "selectively compiled under severe time pressure that precludes deep compiler optimizations" one, much that JIT camp would like to brush under. There is still a substantial gap between the pregnant promise of a JIT and its delivered performance. The gap that needs to be bridge does gets narrower by the year though. [Mono does have AOT compilation, but I had given up on a then buggy Mono and haven't found enough motivation to go back. Should I ? A non bugged F# on Linux would be really sweet.] Under circumstances JIT can, and do outperform, but those are not nearly the common enough cases and configurations, at least not in the number crunching world. And some of the scenarios that get held up in JIT's defense are plain hypothetical, 'for arguments sake only'. C# is much better than Java about interoperating across the managed - non-managed bridge, D is significantly better still. The poverty of the C# eco-system in number crunching libraries, or even production quality glues to native number crunching libraries, is really stark. I guess it was never an area they wanted C# to venture in. For example their standard math library does not work on float32. WTF! The first time I realized this, I couldn't believe it. By the way the author of the article you linked has this to say: JIT can generate faster code, because it targets the current platform of execution. AOT compilation must target the lowest common denominator among all possible execution platforms. This points to another bridge that needs crossing (the one between the AOT and JIT communities). Had there been a garbage collector for the web, that should have been history by now. Command line options for compilers have been a thing for quite a while.
- mattmanser 11y agoOut of interest, how many people here actually use async methods? Excluding being forced to by a library. They haven't revolutionized my code at all. I can't decide if I'm too stupid to realize when to use them, or if they're really just a bit useless for most normal code. I can see the point to it, it's just that most of the time I'd consider using it, it just isn't worth the extra effort. Usually seems to be a premature optimization. Lambda expressions, now they revolutionized my code completely.
- tracker1 11y agoIt isn't the end of the world in .Net but it will be the difference between a server handling fewer than 10K simultaneous requests and over 100K on modern hardware. In general, as much as possible service could should be async... That said, a lot of code isn't. The breakup of the request pipeline and thread pooling in ASP.Net make it slightly less necessary, as it's still very efficient. That said, you should probably introduce it using Parallel Linq as much as possible, and/or when you need to consume multiple resources in a given request. If you're writing stand alone applications, and already using threads/thread pools, then it's probably less of an impact. If you're writing server/service applications then it does make a difference in terms of scalability.
- mattmanser 11y agoBut that's kinda my point, I don't use it because it makes the code more complicated, it's a premature optimization. C# is already blazingly fast. To put it in context, 10K simultaneous requests is 10 billion page views per day (10000 * 10 * 60 * 60 * 24, assuming 100ms processing time, which is actually pretty high for .Net, mine are usually 60ms even on crap hardware. Yes it's a silly calculation, but it gives you an idea about the scale we're talking about). If you're at that scale, you can afford to hire John Skeet to go back over your code and add a few `async`s into it where appropiate. From what you just said it seems that anyone using it all the time is unnecessarily cluttering their code.
- tracker1 11y ago
- dafrankenstein2 11y agoC# plus Visual Studio plus MSDN is real awesome
- diimdeep 11y agoand very huge download size and windows only, hope this changes soon.
- smileybarry 11y agoHey, just a heads up: your site's cert is coming up as invalid on my Nexus 5: http://i.imgur.com/kXNSygM.jpg http://i.imgur.com/kXNSygM.jpg This is on stock Android 5.1.1, unrooted.
- scottc 11y agoDang, c# looks so awesome! Was super interested in using for our most recent project, but alas, we chose python. Looking forward to using these features someday but I'll pass on Windows and Azure for now.