Best windows operating system books according to redditors

We found 162 Reddit comments discussing the best windows operating system books. We ranked the 53 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Subcategories:

Microsoft OS guides
Windows 10 guides

Top Reddit comments about Windows Operating System:

u/JoseJimeniz · 55 pointsr/programming

Of course certain Microsoft applications did deliberate use APIs that weren't publicly documented to achieve things there were otherwise impossible.

Any and every bad developer was able to use the same publicly undocumented APIs. The furver started after they were publicly undocumented in Windows Undocumented.

Just because a bad developer is working at Microsoft when he wrongly uses an undocumented API doesn't make it Microsoft's fault.



u/Rizzan8 · 48 pointsr/learnprogramming

Here below is my copy pasta of C#/Unity stuff which I post pretty often here.

Free C# ebook

http://www.csharpcourse.com/ <- The download link is under 'here' at the end of the first paragraph.

If you want youtube tutorials:

https://www.youtube.com/playlist?list=PLGLfVvz_LVvRX6xK1oi0reKci6ignjdSa <- apart from C# this dude has also A LOT OF other tutorials on many other languages.

https://www.youtube.com/watch?v=pSiIHe2uZ2w <- has also pretty good Unity tutorials.

https://scottlilly.com/build-a-cwpf-rpg/ <- learn WPF (desktop application with GUI) by making simple RPG game.

Book reference guide:

https://www.amazon.com/C-7-0-Nutshell-Definitive-Reference/dp/1491987650/ref=sr_1_1?ie=UTF8&qid=1547990420&sr=8-1&keywords=C%23+in+a+nutshell <- But treat is as a language reference guide, not a programming learning guide.

Text-based tutorials

https://www.tutorialspoint.com/csharp/index.htm <- C#

https://www.tutorialspoint.com//wpf/index.htm <- WPF (GUI programming)

Udemy - wait for $10 sale which occurs at least once in a month:

https://www.udemy.com/csharp-tutorial-for-beginners/ <- for C#, dude has also more advanced tutorials to choose from.

https://www.udemy.com/user/bentristem/ <- for Unity

Do not move to Unity or WPF before you get good grasp on C# syntax and OOP concepts.

u/Hyru · 39 pointsr/programming

Books

u/[deleted] · 29 pointsr/csharp
u/geek_on_two_wheels · 21 pointsr/csharp

Coming from a C++ background I find [C# in a Nutshell] (https://www.amazon.ca/dp/1491987650) to be great. Concise, to the point, but nothing is (or seems to be) left out.

u/TrumpLyftAlles · 11 pointsr/csharp

> Are the books any good?

It's been years since I looked at them but they used to be mediocre.

Bonus Data! Microsoft Visual C# Step by Step (9th Edition) (Developer Reference) 9th Edition from Microsoft Press has 11 reviews averaging to 3.7 out of 5.

This search for C# on Amazon shows C# books ranked by average customer review. Some of them are too old. I don't know what to recommend.

I find it amusing, though, that C# 6.0 in a Nutshell is 1136 pages long. That's a BIG friggin' nutshell. :)

u/tragoh · 10 pointsr/csharp

C# in a nutshell is a good reference to learn the ins and outs of the language without muddying up the concepts with opinionated frameworks and patterns.

https://www.amazon.com/C-6-0-Nutshell-Definitive-Reference/dp/1491927062

Learning the languages capabilities is only half the battle, and once you have the syntax down you really want to supplement that with a book that teaches you how to write C# as the language designers intended. The following is a little old but written by some of the original members of the .net team and fairly timeless

https://www.amazon.com/Framework-Design-Guidelines-Conventions-Development-ebook/dp/B0017SWPNO

I've worked with several great C++ developers who thought they knew C# but we're really still just writing C++ without ever really learning to embrace the language. Don't be like that

u/Bozar42 · 9 pointsr/roguelikedev

Fungus Cave

Github repository, screenshot.

I'd like to share two things this week. First, I want to expand my C# toolkit, so I searched and purchased two books:

  • C# 7.0 in a Nutshell
  • Programming WPF

    I haven't read WPF yet. As for Nutshell, both the price and content is amazing.

    Second, I designed and implemented a field of view algorithm. It has following features:

  • It is not so complicated as recursive shadow casting.
  • Walls do not block LOS, but they make grids which are farther away from the observer darker.
  • You can easily add more obstacles in addition to walls and light sources.

    FOV is processed by three classes:

  • FieldOfView creates a 2D array. Each grid in the array can be of one of three status: Unknown, Visited and InSight. When drawing FOV, the first step is turning all InSight grids to Visited.
  • RenderSprite is the last step in drawing FOV. Every sprite checks its position in the observer's FOV status array and changes color accordingly: white for InSight, grey for Visited, and black for Unknown.
  • FOVRhombus reads observer's position as input and changes the FOV status array.

    distanceBoard:

    > 3 3 3 3 | 3 4 4 4

    > 2 2 2 3 | 2 2 # 4

    > 1 1 2 3 | 1 1 2 4

    > x 1 2 3 | x 1 2 3

    FOVRhombus creates another 2D array called distanceBoard. The algorithm changes FOV status in three steps:

  • Starting from observer's position, traverse the whole distanceBoard array and calculate the distance between observer and each grid. If the grid is a wall, push the position into a wallStack.
  • For each wall in the wallStack, check surrounding grids in a rhombus shape. If distance(grid, observer) is greater than distance(wall, observer), increases the grid's distance by 1 (or any positive number you like.)
  • For each grid in the distanceBoard, if the value is less than or equals to observer's max sight range, change the corresponding grid in FOV status array to InSight.

    Multiple walls cannot make the same grid even darker. If there are multiple obstacles that cast shadow, only the darkest shadow takes effect. If there are light sources, just reduce the distance.
u/Veiocity · 7 pointsr/csharp

John Sharp's Microsoft Visual C# Step by Step is a great book. It teaches beginner, intermediate, and advanced concepts.

u/tymaster22 · 5 pointsr/PowerShell

Just to add, if you want a good book to read after. This is very informative.

https://www.amazon.com/dp/0735675112?aaxitk=.sjYWQ4iWEoQs178fs504w

u/thevoid · 5 pointsr/programming

Somebody else recently asked the same question,
might find some tips there...

tl;dr learn Python.

Edit: I'm also teaching myself and after messing around with a few languages and books and reading a lot of proggit, programming blogs and looking around the job market for where I will be living in a few years, I've gone with C#.

Why?

Because it seems that to get a foot in the door as a junior developer these days, not being a university graduate and not coming from an IT background, I would need some sort of certification. That leaves Java and C# and from what I've read here and elsewhere, the state of Java is deplorable these days, so...

Also, I was struggling with the object oriented model. So I reasoned that if I can become certified in a language that is based on that model, I will absolutely have to know it, a sink or swim sort of thing. Then I can move on to one of the more "open" languages more easily should I desire to.

I'm learning from this book, which has been fantastic, as the Head First series are presented in a different way to most others, for totally visual learners like myself who have trouble conceptualising abstract ideas from screeds of text.

u/MasterFubar · 4 pointsr/technology

Copyright law harms you no matter what you do.

Why did Microsoft get a monopoly on desktop computers? Because "DOS ain't done till Lotus won't run". By being able to have a copyright on binary code, Microsoft was able to hide secret functions in its operating systems that allowed them to create much more efficient office software.

I think that, different from patents, copyrights should exist for software, but only on the source code. Compiled executable code should be protected only as works derived from the source code. The only way a binary file should be protected is if the author could prove it was obtained from compiling published source code.

u/Jutanium · 4 pointsr/dailyprogrammer

Head First C# is a great book. That, and C# in a Nutshell taught me everything I needed to know.

u/hackworks · 4 pointsr/C_Programming

Back when I was developing low level applications on Windows, I purchased: https://www.amazon.com/Programming-Applications-Microsoft-Windows-General/dp/1572319968 (newer version: https://www.amazon.com/Windows-via-Jeffrey-M-Richter/dp/0735624240/ref=dp_ob_image_bk)

It is a very well written book. When I wanted to learn more, the author (Jeffery Richter) pointed me to:
Windows Internals by Mark Russinovich (https://docs.microsoft.com/en-us/sysinternals/learn/windows-internals).

Between the 2 (now 3 since Windows Internals has part 1 & 2), you should get a solid foothold programming in Windows.

u/ushitomo · 4 pointsr/programming

not nearly as cool, but this was the textbook for my OS class in college: http://www.amazon.com/Operating-System-Concepts-Windows-Update/dp/0471250600

u/Garrosh · 4 pointsr/funny

Well.. this is a bit more complex than that. Turns out that Windows 95 depends on DOS in almost the same way that Windows 3.11 did. Windows 3.11 didn't depended on DOS as much as everybody thinks. There is a great book that explains this called Unauthorized Windows 95.

And, by the way, DOS was inaccessible in Windows 2000 because it was a Windows NT, Like Windows NT 4 before. In fact the first Windows who didn't have DOS on it was the fist version of Windows NT, Windows NT 3.1. Windows 8 isn't an evolution of Windows/DOS but an evolution of Windows NT.

u/naradrinis · 3 pointsr/learnprogramming
u/mschaef · 3 pointsr/programming

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

> Windows 95 was fantastic. I loved it so much (except that it wasn't DOS)

You might be interested to know that Windows 95 had about as much DOS in it as did the latest versions of the Windows 3.x series. Microsoft tried to sell it as a 'complete 32-bit rewrite', but in reality Windows 95 is mainly just a significant development of ideas that originated in Windows/386 2.11. Here's the rundown:

  • Windows 1.x and 2.x - All ran exclusively in real mode, on top of DOS. DOS acted as a loader for Windows, and provided a number of core OS-level services (including the filesystem itself.) This was the beginning of the Win16 API, which provided graphics, window management, and a nice memory manager based on relocatable blocks with a maximum size of 64K. (Keep the memory manager in mind as you read on....)

  • Windows/286 - 286 class machines had an address bus that was larger than 20 bits wide. This let them address an extra 64K at the top of the real mode address space, if they disabled something called the A20 gate. Widnows/286 was fundamentally the same real mode Windows as before, but it shipped with a driver (HIMEM.SYS) that let it control the A20 gate and open up a bit more memory. (Windows/286 was mostly a dead-end, and despite the name, could run on 8086 class machines.)

  • Windows/386 - This is still real mode-windows, and Windows programs are still limited to a 20-bit address space (1MB). However, the difference is that Microsoft scratch built a small 386-specific operating system that let them run multiple real mode programs at the same time, using a special 80386 specific feature called 'Virtual 8086' mode. For the sake of discussion, let's call this OS VMM, for Virtual Machine Manager. Windows/386 booted from DOS into VMM, and then ran real mode Windows under VMM. The reason they did this is that VMM let Windows/386 run other real mode programs at the same time as Windows itself, so it could do a good job running multiple DOS programs alongside Windows programs. If you've ever wondered what a VxD is, it's a device driver for this lower level 32-bit OS. (Keep VMM in mind as you read on....)

  • Windows 3.0 - The main innovation of Windows 3.0, is that Microsoft figured out a way to port the Win16 API itself from real-mode over to protected mode. What this means is that, finally, a single program can access more than 1MB of RAM without having to screw with paging strategies like EMS 3.2/4.0. Windows 3.0 brought this feature, the single biggest feature of OS/2, to mainstream PC's by being cheap to purchase and running alongside DOS. The only reason that Microsoft was able to make this change is that way back in Windows 1.0, they set some strict rules for how programs have to access memory. (The block based memory manager, etc.) This made it possible for Microsoft to make it easy to take existing real-mode programs and run them seamlessly on protected mode. (Many programs could run unchanged, if you toggled a bit in the .EXE file that said it was safe for protected mode.) Windows 3.0 also took the older versions of Windows and bundled them all together in one box. Note that at this point, the file system is still running Windows 1.0 style, down in DOS.... The VMM layer lets multiple programs use the same underlying real-mode DOS file system. It works, but it's slow... lots of processor mode switching and data marshalling.

  • Windows for Workgroups 3.11 - This version of Windows (and it had to be 3.11, not 3.1) introduced 32-bit file access (32BFA). In previous versions of Windows, VMM had a small module that took DOS style file system calls and redirected them to the underlying DOS. 32BFA was a re-implementation of the DOS file system that ran directly in VMM as 32-bit code. This eliminated the need for all file system calls to switch into real-mode to use DOS to get to the disk. (Note that this was still possible, if you had an old-school device that only had a real-mode device driver.)

  • Win32s - This was a layer on top of Windows 3.1 that provided many of the major Win32 API calls by translating them directly to Win16 calls. It also hooked into the Windows EXE loader and gave it the ability to run a different 32-bit EXE format. The major benefit of this is that it let you take a single program and run it on both Windows NT and Windows 3.1...with a 32-bit address space. Aside from a very low-level technique that worked on Windows 3.0, this is the first time that this line of Windows development has been able to run user-mode programs that could access a single block of memory that's greater than 64K in size.

    At this point, much of the architectural groundwork for Windows95 has been laid. There's a 32-bit kernel, the ability to load and run 32-bit Windows programs, and a 32-bit file system implementation. Viewed in this light, Windows 95 made the following improvements:

  • The 32-bit file system was extended with long file name support.
  • A number of the API calls (not all) in Win32s were extended with full 32-bit implementations. (The old Win32s entry points provided a place to put the call interface, and VMM provided 32-bit OS services.)
  • The Windows 3.x shell (Program Manager and File Manager) was replaced with the Windows Explorer Shell.
  • Microsoft altered DOS to boot directly into the Windows startup process. (To do this in earlier versions of Windows required that you explicitly start windows from your DOS startup script AUTOEXEC.BAT.)

    If you're interested in knowing more (and I can't imagine why), this book goes into gory detail:

    http://www.amazon.com/Unauthorized-Windows-Developers-Exploring-Foundations/dp/1568841698

    IIRC, Schulman demonstrates how to get Windows95 running in DOS only mode, in addition to a mode where DOS is directly running on top of VMM, without the Windows GUI. Microsoft never liked to admit to it, but DOS was a huge part of Windows 95. They only got rid of it in OS/2, Windows CE, and Windows NT. (And Xenix, if you go back far enough.)
u/code_injector · 3 pointsr/cscareerquestions

Depends on what you mean by being "paid to code." IMO it would be very difficult to get to a level expected of a professional software engineer in that amount of time. I do honestly believe you'll learn to code, it's just that there is so much more to it. You'll also need to learn algorithms and data strucutres at a bare minimum, as well as things like version control and design patterns.

I do think you can get to a level where you could potentially be some sort of administrator, potentially writing scripts or SQL queries, and work your way up from there.

Things you can do:

  • Take a course or two on Coursera
  • See if you can do a few challenges on project euler.
  • Hang out on Stack Overflow a lot, especially hang out in the tags of whatever you're learning.
  • Pick up Head First C# if you're set on .Net, otherwise Head First Java. (People may tell you these books are kinda silly but they're good for self-study IMO).
u/liveyourheart · 3 pointsr/learnprogramming

apply, and be up front about about your java background. honestly, java and c# share a ton of similarities. Brush up on a book (this may not be a bad idea anyway as c# and .net jobs are available about anywhere).
Worst case scenario, you learn something new (and can now compare and contrast c# and java) and get some interview experience.

edit: I really enjoyed C# 6.0 in a nutshell. There are a ton of more economic resources out there. Most employers outside of the really big tech companies care more about your passion for learning and your soft skills than if you can deliver a perfect solution on a whiteboard.

u/Krom2040 · 3 pointsr/dotnet

“Why is C# better than Python” is a tough question to answer, but the short answer is that all the features of C# were put there for a reason. And there are MANY features; C# has evolved over the years to support virtually all of the programming paradigms you can imagine, from procedural code to object-oriented to functional to low-level memory/hardware interaction to whatever. It’s dauntingly complex to dig into all of it, but you really only need a relatively shallow subset of those features to be productive, and you’ll only get better as you absorb more of the profile. What you find as you watch other languages like Python evolve is that they’re really playing catch-up, trying to patch in features that C# has had from its inception. Of course, trying to stick static type safety in after the fact is extremely difficult, but you’re seeing a lot of that in both Python and JavaScript. The lifecycle typically goes something like this: new developers get a whiff of the complexity of C# and are put off, then are pleasantly surprised by how easy and “flexible” JavaScript seems, spend years working with it, and then after hitting a wall with the limitations of those languages, they start down the rabbit hole of trying to monkey around with them to try to fix them up to be more like C#.

Just from the outset, static typing is a huge necessity for large software projects. You can’t afford to exist in an environment where every change of a property throws the stability of your codebase into question, with a host of problems that you can’t identify until runtime. Code clarity is, I would argue, the DEFINING feature of a stable, healthy project, and what you find with dynamically-typed languages is that people get to be afraid to refactor for clarity, because the code is brittle and can’t be changed with any reasonable
level of confidence.

Som people try to make assertions like “a good linter is just as powerful as a strongly-typed language”, but that just strikes me as nonsense. It’s only true if you can commit to using the language in a very basic, highly-conventional way, and once you’ve done that, what you’ve REALLY done is abandoned the flexibility that was the hallmark of the loosely-typed language in the first place, AND what you end up with is a very limited subset of the features a true statically-typed language gives you. It’s really tantamount to believing that most static-typing support is superfluous, which it is most definitely is not.

The thing about JavaScript in particular is that it received an enormous boost by being the only game in town. It’s still a pretty crappy language, but it used to be considerably worse; people tolerated it because it was the only game in town. Even then, it had its cadre of language evangelists who assured everybody that the overwhelmingly primitive nature of the language was really a great feature, and maybe in some abstract sense they were correct insofar as it was sufficient to become a building block for better transpiled iterations of it. But largely, as new features were introduced, developers embraced them wholeheartedly, which likely wouldn’t have been the case if there really was a ton of value in the extremely raw nature of early JavaScript.

These are a couple of really excellent resources for C#, which really dig into the design motivations of the language:

https://www.amazon.com/C-Depth-3rd-Jon-Skeet/dp/161729134X
https://www.amazon.com/C-7-0-Nutshell-Definitive-Reference/dp/1491987650

It’s worth noting that they’re both enormous books, and ironically the “Nutshell” book is over a thousand pages! That’s the kind of scope that you’re dealing with to really get into what C# has to offer. But once you do, it can feel awkward to switch between that and less-powerful languages. For that reason, I think every developer in any language could stand to learn about C#, since it’s just a great case study in language design.

All of that said, I always think it’s important to remember that programming in most dynamically-typed languages is pretty much like writing every C# program using Dictionary(string, object) as your only data type.

u/slackrock · 3 pointsr/csharp

O'Reilly always does a solid job. Any of the recently published Microsoft books on C# / .NET / .NET Core are going to be good too. Though they may be dry, you'll be impressed with what you know how to build once you're through it. Also, going through the online tutorials Microsoft maintains is a good way to start. It'll help you hone in on what you want to focus on learning.

u/get-postanote · 3 pointsr/PowerShell

Nothing is every really outdated, as you never know what you are going to encounter in a target / assigned environment and even have to continue to deal with legacy OS, PS versions and now cross platform. That cross platfomr bit, as far as in depth stuff, no refrence really exists, yet.

​

Why are not all the built-in help files and ps1/psm1, etc., not a good reference point and well as all the docs on the MS PowerShell GtiHub and docs site as well as these handy resources and one of the other top PS books that been around: for years now:

Windows PowerShell in Action, Second Edition Second Edition

​

And coding in general -just becasue the more your script , eventually understand real coding practices is paramount. Look to this reference. It's not PowerShell specific, but for wrapping you head and goals around coding practices.

Code Complete (Developer Best Practices)

​

PowerShell Documentation

https://docs.microsoft.com/en-us/powershell

https://docs.microsoft.com/en-us/powershell/module/?view=powershell-6

​

Other free eBook references

https://leanpub.com/u/devopscollective

http://www.powertheshell.com/cookbooks

​

Windows PowerShell Survival Guide

https://social.technet.microsoft.com/wiki/contents/articles/183.windows-powershell-survival-guide.aspx

​

DevOps Collective Videos

https://www.youtube.com/playlist?list=PLfeA8kIs7CocGXuezOoYtLRdnK9S_Mq3e

​

Cheet Sheets

https://github.com/PrateekKumarSingh/CheatSheets/tree/master/Powershell

​

PowerShell Best Practices

https://blogs.technet.microsoft.com/heyscriptingguy/tag/best-practices

https://blogs.technet.microsoft.com/heyscriptingguy/2014/05/28/powershell-best-practices-simple-scripting

https://www.digitalshadows.com/blog-and-research/powershell-security-best-practices

https://ptgmedia.pearsoncmg.com/images/9780735666498/samplepages/9780735666498.pdf

https://www.digitalshadows.com/blog-and-research/powershell-security-best-practices

https://github.com/PoshCode/PowerShellPracticeAndStyle

https://gallery.technet.microsoft.com/scriptcenter/PowerShell-40-Best-d9e16039

https://www.microsoftpressstore.com/store/windows-powershell-best-practices-9780735666498

​

​

​

u/Cort_Astro · 3 pointsr/Unity3D

I'd suggest checking out Brackeys/Sebastion Lague/Sykoo On youtube as well as this website for tons of more in-depth written tutorials, for getting started, there's a ton of resources amongst those references. As far as generic C# stuff, for me the only way to tackle a new language is a good OReilly (or similar) book, I have this book which I believe covers a much newer version of C# than unity uses, but still is incredibly helpful.

Also, this is definitely not such a complex language that anyone should be suggesting taking another path first, yes here are are complex parts to C#, a lot of which I myself have yet to master. But you can do a lot of really cool stuff with simple concepts. I just finished building a physics simulator for my procedural engine and that was using only basic C# skills and built in Unity commands, nothing fancy at all. Don't let complexity scare you away, pick what you want to do, learn how to do that specifically to your satisfaction, rinse wash repeat. Do that for 6 months to a year and you'll be amazed by how much you've learned.

Good luck!

u/jeremymorgan · 3 pointsr/csharp

What helped me, way back in the day was the O'Reilly book.


https://www.amazon.com/C-7-0-Nutshell-Definitive-Reference/dp/1491987650/ref=sr_1_4?ie=UTF8&qid=1539150580&sr=8-4

​

Had to learn C# for work so of course I took tutorials, downloaded some stuff and tinkered around, but I had no idea what I was doing. Started reading the O'Reilly book on my lunch breaks and making up exercise for myself. Took me months, but I learned a ton. Within those few months I already figured out tons of way to save myself time and frustration.


Another good idea is taking the C# Role Track at Pluralsight.


https://www.pluralsight.com/paths/csharp


I'm about halfway through it now, and I've learned quite a bit. I've been a C# dev for years. Really gets into all the nook and crannies of the language.


​

u/PM_ME_YOUR_MAKEFILE · 3 pointsr/learnprogramming

I've also been learning C# for work, and I don't do well in classes: I learn better from books. So if books are your thing, here's a couple recommendations (all of these are on Safari Books Online, see if your work will shell out for a subscription)

u/johnzabroski · 3 pointsr/csharp

Here is how I go about trying to become an "expert":

In short, if you have ever read Alan Perlis's "Epigrams on Programming", most of the things there are pithy explanations of what I'm about to say. Probably my favorite epigram as it relates to being a "language lawyer" is:

​

>10. Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary.

​

This is critical, because, as most here will tell you, it's nearly impossible to keep every aspect of C# - both how and why - in your head at all times.

​

That said, at one point I was an awful engineer. Let's get into how I became a significantly better engineer.

  • ReSharper
    • I would diligently fix everything ReSharper would warn me about. Even typos. You might think this is dumb, but as a 12 year old kid, I would sit in IRC chat with the founder of Dinkum Software, Tom Campbell, and he would tell stories about how many places he's consulted for where the engineers would ignore compiler warnings.
  • Mastering for loop, foreach loop, while loop, do-while loop
    • I practiced a lot of problems from books like Deitel&Deitel, but also read books like Code Complete which talked about off-by-one errors, as well as research by Whitehead et al on bug fix patterns. If you read the research, you'll see that most bugs are caused by relatively simple mistakes. What's also interesting is the same developers repeat the same mistakes. Meaning, if a developer has a bug because they used for loop instead of foreach to iterate over an IEnumerable, chances are they have written code elsewhere in your code base with the same mistake. The same goes for not closing database connections and not using using statements to automatically dispose of external resources (like database connections).
  • Avoiding Anti-Patterns
    • Was told in college, by an engineer from Naughty Dog Software, who worked on Crash Bandicoot and other great games, to avoid using singletons, because you can never predict when you might actually need more than one of something. Gosh, looking back, this simple advice was so hard to follow at the time.
    • I read books on the subject of Anti-Patterns, such as Eric Allen's Bug Patterns in Java
    • I read blog posts about anti-patterns, and would discuss them with friends. It may sound weird, but I did not want to ever be that engineer who was programming with their pants down and didn't realize it.
  • LINQ
    • I spent a lot of time writing SQL and "Thinking in sets".
    • But I also benefited a lot from listening to Bart De Smet talk about The Essence of LINQ and the "MinLINQ" talk he gave on Channel 9: https://channel9.msdn.com/Shows/Going+Deep/Bart-De-Smet-MinLINQ-The-Essence-of-LINQ - at the time, I had been reading blog posts about anamorphisms, catamorphisms, and isomorphisms written by Haskell programmers and most of the stuff flew right over my head, but most of what Bart discussed here deeply resonated with me.
  • Parallel LINQ
    • After digesting Bart De Smet's Essence of LINQ talk, I started to parallelize code at work by figuring out what the serializable sequences of business logic were, and splitting IEnumerable's of my entities via things like candidates and companies, and then passing that down to a timesheet processing engine I wrote.
  • Task Parallel Library
    • This is slightly more complicated than Parallel LINQ, especially if you have not done much concurrent programming before.
    • One of the first things I did was search for common TPL bugs on Stack Overflow, via searching for "tpl deadlock asp.net" on Google. Boom. Bunch of blog posts came up written by consultants teaching me some things that I probably learned in my computer science program, probably got right on a test at some point, but forgot about.
    • One of the most basic things you can do when writing concurrent code is to know if the libraries you are using are thread-safe. Many libraries will say as much, especially those written by Microsoft. For example, Entity Framework DbContext is not thread safe. If you're going to start using concurrent code, probably the hardest thing to get to grips with is how to safely call non-thread-safe code in a thread-safe manner, or how to look for alternatives that are 100% thread-safe.
  • Micro-benchmarking
    • Learn how to benchmark code. Even if it is just using StopWatch and Xunit to start out.
    • Try implementing things two different ways that on the surface seem identical, but are syntactically different, and then figure out why one is slower or faster than the other. If you can't figure out why, ask someone, and then try to generalize their answers so you can apply those lessons learned in other areas of performance tuning.
    • Eventually, graduate to newer tools like xunit-performance and benchmark.net
  • Learn every step of the build pipeline
    • I grew up with Visual Basic 6, so I was somewhat accustomed to dragging and dropping objects to create user interfaces, and doing "rapid application development" (RAD). While my first employer helped me break this habit, it wasn't until I read Chris Sells' Windows Forms Programming in C# introduction in chapter 1, "WinForms From Scratch", where he built things from the ground-up, that I started to believe it was even possible to pull back the curtain of such vastly complex systems. In this book, he uses the most basic feature, the c# compiler and a text editor, and doesn't even use *.sln files or *.csproj files. Then he dives into configuration settings XML-first and then shows you the Visual Studio GUI for it after the fact.-- I apologize to those of you laughing at me reading this, but you have to realize, growing up, walking to Barnes & Noble as a teenager and sitting on the floor hoping to one day learn enough to do this cool programming stuff professionally, I had glanced through thousands of books, and this "hands on" ground-up approach was nothing short of revolutionary.
    • If you're talking to a database, learn a database migration framework. I recommend FluentMigrator, but I've also used Chuck Norris' RoundhousE and Flyway.
    • Learn how to configure and use a build server like TeamCity
    • Learn how to configure and use a deployment server like Octopus Deploy
  • Code as Data, Data as Code duality
    • I recommend learning Lisp to deeply understand expression trees, but understanding the trade-offs in storing code as data, and then Eval()-uating it on the fly (such as is done effectively when you call Entity Framework ToList()), can give you powerful new concepts to think about how to solve problems that otherwise wouldn't seem possible without piles and piles of code.
  • Build a Technology Radar.
    • Data mine the crap out of NuGet. Look at what is popular and try to learn about half of those technologies. Chances are everyone commenting here is familiar with at least half of those libraries. Create a scorecard for yourself on a scale of 1-10 for each library on how familiar you are with those technologies.
      • Also, don't forget to be reasonable. If you're a computer game programmer, you can probably skip SQL specific libraries like Dapper and Entity Framework.
    • I have a radar on my GitHub which ranks various third party libraries and I try to take detailed notes (in private) about why one library is better than another. As an engineer, you'll be asked to solve the same problems over and over again. Figure out the best way and keep track of why it's the best, so you can know when to switch
  • Testing and writing testable code
    • The best thing you can do here is to work with someone who is a master at writing tests.
    • The next best thing you can do is probably to learn the basics of writing really clean tests, such as Arrange-Act-Assert, Record-Replay, Mock Objects and Mocking Frameworks
    • Become familiar with what can be easily mocked, since it will determine how you choose to design a lot of your object models once you become "test-infected" and write tests as you write your code
    • Tools like AutoFixture for generating objects as part of your system under test
  • Dependency Injection frameworks
    • Look at IoC Benchmarks by Daniel Palme. I have learned a lot about performance tuning C# applications by reading through the discussions of issues on this mailing list. Some very smart programmers contribute to this project.
    • Learn how you can use a DI framework to create singletons at the container-level, rather than using C# keywords like static.
  • Combining DI frameworks, AutoFixture and your mocking library to write very concise tests.
    • Once you start to see the power of combining a few smaller frameworks, you will begin to appreciate why you don't need big "do everything" frameworks
  • Generic Programming
    • Start off with doing basic generic programming, like strongly-typed collections.
    • Graduate to abstractions you might not normally think of, such as generic types that exist only as a "phantom type" to pacify another part of your system, such as a dependency injection framework
    • Graduate even further to generic expression trees - functions that return generic code-as-data
  • I could add more, but I'm at the 10,000 character maximum
u/maksa · 3 pointsr/serbia

Ukratko, WPF aplikaciju praviš deklarativnim UI-jem u XML-u i kodom iza koji reaguje na ivente, radi pos'o, itd.. Windows Form aplikacija je sasvim drugi frejmvork sa sopstvenim apstrakcijama i programskim modelom, sve se dešava u kodu. Dve različite .NET UI tehnologije sa istim ciljem, otpr. kao Swing i AWT u Java svetu (ko se seća ovog drugog, nemam pojma da li se to još igde koristi).

Ne postoji jako dobar razlog da danas koristiš Windows Forms, osim ako to nisi koristio do sada i znaš mu sve fore i fazone, a rokovi su pretanki da bi osvajao u procesu novu tehnologiju.

Edit: Ovo je po verovatno najbolja WPF knjiga - WPF Unleashed, tj. bar je bila do pre nekoliko godina, a ovo pamtim kao najbolju Windows Forms knjigu - Windows Forms Programming.

u/Quesa-dilla · 3 pointsr/csharp

I learned by finding something that I needed. A tool, a small program that automated something that I do all the time. For me, it was a program that would go to and crawl an HTML page that had a summary of earnings for my telecommuting job, at the time.

The UI would then display the amount I had made in the current month/week/day with some other useful stats. I ended up adding a graphing feature to it so I could visualize my earnings.

The point is, find something that you need and/or are interested in and just start. Half the problem is trying to overthink a project and not starting. Try to divide up the various processes into smaller processes and build upon that.

A great book I read that helped me with some basics was Head First: C#.

u/crazyeyes420 · 3 pointsr/csharp
u/EntropyWinsAgain · 3 pointsr/sysadmin

It is standard practice to build the reference image in a VM. Installing applications in the base image it not a good idea. Only do this if you HAVE to. It is better to add all your applications as packages and install via task sequence or as selectable application list during deployment. I would suggest you check out this book:

https://www.amazon.com/Deployment-Fundamentals-Vol-Deploying-Windows-ebook/dp/B00B9IB286/ref=sr_1_5?ie=UTF8&qid=1520347968&sr=8-5&keywords=johan+arwidmark

u/r00t_4orce · 3 pointsr/commandline

Upvotes to the mentions of Powershell - it is really powerful and excellent to use.

However - good'ol DOS and batch files fuel some of my top functions at work. Here are some links that might help:

u/Monkey_Tennis · 3 pointsr/sysadmin

Another vote for MDT. It can be fairly straightforward to set up, but if you want to start messing with multiple makes/models and thick/thin/hybrid images, it can take a while. I've worked with MDT for 3+ years, and it's very flexible and powerful. It's got me my last two jobs, as both places were looking for Imaging/MDT specialists. It's a great tool to have under your belt. And it's free, so you'll get kudos for that.

I recommend reading anything and everything Johan Arwidmark has ever written. He's really the grandaddy of MDT/SCCM and deployment.

If you're looking to start messing with MDT, check out this book by Johan Arwidmark:

Deployment Fundamentals, Vol. 1: Migrating to Windows 7 using MDT 2010 Lite Touch and WDS

It literally will guide you through setting up MDT and WDS from scratch and get you deploying images. Well worth the investment.

u/DevOnTheLoose · 3 pointsr/csharp

Here are my two recommendations based on what you're starting with:

https://amzn.com/1430249358 - Beginning C# Object Oriented Programming by Dan Clark

It's circa 2013, but that shouldn't matter too much. The point of this book is to get you understanding the fundamentals which haven't changed a bit in a while. I can't speak to the effectiveness of this book, personally (I came from C++, so for me it was more about learning how inheritance patterns in C# differed and this book wouldn't have worked for me), but I've recommended it to other people looking to get a start in programming and it has been well received. The goal with this book is to get to the point where you can read a serious book on C# and this provides that pretty well.

After that, head right over to:

https://amzn.com/1491927062 C# 6.0 in a Nutshell - by Joseph Albahari and Ben Albahari (O'Reilly Press).

I own every edition of the C# in a Nutshell series and have read each (speed reader - lots of skimming/scanning since each edition has a lot of repeat content). I'm a huge fan of the "in a Nutshell" books - the "signal to noise" ratio of these books is very high - they're excellent books for people who prefer/are best at learning via books - think of it as an "AP Course". It'll take you a while to get through (the last guy who successfully completed both took 9 months front to back at about 20 hours a week using a strategy that involved reading the book about 4 times [topic for another post] -- it was for a job, so he had no choice but to learn). When you're done, though, you'll understand a large percentage of C# code and be able to write many different kinds of applications.

From there, it's time to head toward the particular discipline you'll be developing most frequently with (ASP.Net MVC, etc) or target certain areas (multithreading/thread safety is usually a good place to go next if you have no particular target).

u/BadgerScout · 2 pointsr/Unity2D

I didn't know this. I figured some portion would be applicable but probably not a ton or even most. I grabbed head first C# for a different reason and ended up not needing it and am now hopeful that it wasn't money wasted even if it doesn't directly have to do with Unity.

u/randomguy186 · 2 pointsr/sysadmin

I always recommend sysadmins read The Practice of System and Network Administration.

For PowerShell, I'm fond of Windows PowerShell In Action. It's written by the language designer, so it's not for the faint of heart. It'll give you a thorough foundation in the language but you'll find no cookbook here.

u/IllusionsMichael · 2 pointsr/Unity3D

http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824

The head first books tend to be pretty good for people who haven't done development before. Unfortunately I don't know of anything unity specific.

u/paulcam · 2 pointsr/windows

There are plenty of resource that haven't been mentioned yet.

Here's a modern one: App design guidelines

and here's the classic book (specifically for Win32 apps -- I've been told that there's a PDF version of this out there, but I didn't look for it): Microsoft Windows User Experience

The UX book has a great deal of information in it that is still relevant to win32 application design.

u/AngularBeginner · 2 pointsr/csharp
u/Venerous · 2 pointsr/learnprogramming

I'm not /u/MinecraftHardon, but you could try the Microsoft Virtual Academy. If you want text, Head First C# is recommended by quite a few people.

u/clhancock · 2 pointsr/learnprogramming

http://www.dotnetperls.com/ is a great website for reference. Reading through that will give you a lot of the basics on how things are done in .Net land. That's more a reference than tutorial, though. I'd take a look at Head First C#. Its reasonably comprehensive, and very accessible (to the point where some complain about its style not being serious enough) -- imo its the best all-around intro to C# you'll find.

u/JonGrey · 2 pointsr/csharp

The latest edition of this book will be released on August 25, 2017.
https://www.amazon.com/dp/1491987650/_encoding=UTF8?coliid=IFRETBPWLFYRO&colid=11QVEMNY6RZ6

u/shinigamiyuk · 2 pointsr/learnprogramming
u/Fencingpeaches · 2 pointsr/AskReddit

Hey norelevantcomments, my husband is a computer programmer and he shares the dream. He always recommends the "Head Start" books for those interested in that field, and here is a link for the C# one:http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824.

u/ominous · 2 pointsr/programming

In distributed algorithms (locking is a distributed algorithm that selects among processes to execute) bounded-waiting and fairness are closely related.

Bounded-waiting means that there is a finite limit on the number of times a process may be skipped (not-chosen).

Peterson's Algorithm, Dekker's Algorithm, and Lamport's Bakery Algorithm (link) are three well-known mutual exclusion algorithms.

The Dinosaur Book covers Dekker's and Peterson's algorithms in addition to broken (unfair, unsafe, require turn-taking) variants on these.

u/suiko6272 · 2 pointsr/Unity3D

If you enjoy projects and quizze method of learning then the best series I can suggest is Head First Series. they have books in all manner of coding and their C# & [Design Pattern]() books are great for beginners to intermediates. I extremly recommend the Design Pattern one.

The biggest difference with this book series is they focus on a Conversational Tone instead of text book talk. And yes while these are more programming related, everything is easily translated to Unity.

Towards the original question. What else would you spend the $10 on? If you really want to learn Unity through video tutorials like theirs then quit fast food for a week, or coffee, or something to make up for the $10.

u/arthurborisow · 2 pointsr/ipad
u/TravisO · 1 pointr/csharp

Originally MS published a great beginner series called "Learn {thing} Visually" and there was a book for each subject. Instead of teaching boring fundamentals of coding, it started by making simple Windows forms which were drag and drop and slowly taught the programming. I use to buy a stack of these books (they were like $13 on Amazon) and anytime somebody had a series interest I would get one from my trunk and give them the book.

Apparently this series was replaced with the "step by step" series:
https://www.amazon.com/dp/1509301046/

u/ilovetpb · 1 pointr/AZURE

I found a book that deals MUCH more with the exam questions than the official Exam Reference for the exam. It's [Microsoft Azure Development Cookbook] (https://www.amazon.com/Microsoft-Azure-Development-Cookbook-Second-ebook/dp/B00NXWI0PE/ref=sr_1_1?ie=UTF8&qid=1473166935&sr=8-1&keywords=Microsoft+Azure+Development+Cookbook#nav-subnav).

u/Arabgunner06 · 1 pointr/learnprogramming

I would suggest Microsoft Visual C# Step by Step. I haven't read this version of the book but the 2013 edition was very well written so I would bet this one is just the same. Although it isn't directed to game development, having a solid grasp on C# will allow you to learn unity much quicker. If you have any questions feel free to shoot me a PM and I will try to help!

u/xSinxify · 1 pointr/LiveOverflow

Depending on your exposure to exploitation in general, it may be best to briefly introduce yourself to exploitation on Linux first to learn the basics, as there are some additional complexities with Windows exploitation not present in Linux exploitation.

That said, here is a great course that specifically focuses entirely on windows exploit development. Here is an equally amazing series that is probably best used as a supplement during and after that course

If you find that you're struggling with understanding the material (specifically for the OpenSecurityTraining videos), it might be best to follow along the prerequisite knowledge "chain", on the pages for each class (Ex: Confused by exploitation concepts that he doesn't explain in depth in Exploits 2 --> Try out Exploits 1 -- as he probably expects you to know a few things from it already. However, if you find that you may be rusty in assembly --> Sharpen up through their Intro to x86 course, and reviewing/learning C on the side. If you want to understand key differences between Windows and Linux binaries, their Life of Binaries course is pretty good too, but that course itself is not fully necessary for just getting started imo.

If it's a matter of you not being a fan of the teaching style for any reason, an alternative course is Sams Class (which I should let you know ahead of time, covers both linux and windows). Both courses include labs for you to work with as you learn (Sam's class even offering extra mile labs).

As for digging into WinAPI, Windows Internals is probably best used as a reference for when you need it (whether you come across something that specifically requires that information, or reach the point where you need new rabbit holes to dive into). If you can manage to get a course with any of the authors of the book, that may be best for thorough learning of that content. Here is a free alternative, by the co-founder of 'Trail of Bits'.
I personally learned a lot through Windows System Programming and Windows via C-C++, but nothing in this paragraph is necessary to initially jump into windows exploitation. If anything they may be helpful after you start to move beyond the basics.

u/eatchapucha · 1 pointr/sysadmin

As other suggested disk2vhd is a great idea.
Personally, I also use USMT and i never had an issue with it so far!
I have a shared folder accessible from the network, i log with an admin account on the laptop that i need to re-image, click an HTML page in that shared folder that fires up a basic MDT sequence just to run USMT, it saves automatically all users settings and folders (even folders outside My Documents, bookmarks, outlook profile, PST files, it even saves the group membership of the user so if he is local admin he will be local admin on the refreshed PC...) and save it to a network share. There is even an option to do a full backup but that's too much space for me.

It really makes things so much easier. All user files and settings are saved in one location, then i start a normal MDT task to image the computer and give the location of the USMT file, the laptop is re-imaged and at the end of the deployment all user settings and files are restored.

Abit more info there: http://technet.microsoft.com/en-us/magazine/jj127984.aspx

Also, this book http://www.amazon.com/Deployment-Fundamentals-Vol-Migrating-Windows/dp/1451570031 is where i found the HTML trick to fire up USMT. I advise this book a lot (i don't know the guys, i am not advertising them) but the

u/AlSweigart · 1 pointr/learnprogramming

If I had known about the existence of these two books (or rather, their earlier editions) a decade ago, I would have been well on my way to being a better Windows programmer. These two are MUST READS for win32 programming (if you don't want to use .NET framework or other abstraction layers.)

Windows Internals, by Russinovich and Solomon

Windows via C/C++, by Richter and Nasarre

Again, if you want to do non-.NET Windows programming, these books are pure gold. (The older books by Charles Petzold are kind of getting out of date, but were good too.) Also, check out Raymond Chen's blog The Old New Thing for tons of cool bits of Windows dev history

EDIT: Also a must read: Advanced Windows Debugging this is a must if you want to learn how to properly debug "unmanaged" (i.e. non-.NET) applications. Also a pretty good intro to reverse engineering or cracking apps on Windows.

u/aiokko · 1 pointr/learnprogramming

I learned with the 7th edition of the Microsoft Step by Step book and found it an excellent introduction to the language. I also went into C# with prior programming experience, so I wanted something more wholesome than a introductory programming book. I would recommend it if you're already familiar with programming.

As far as Unity goes, there are a ton of tutorials out there for both 2D and 3D, just do a quick google search. Their tutorials page also has a couple of 2D-specific tutorials that should help you along. I wouldn't recommend using a book to study Unity, as in my experience tinkering around with the game engine is far more useful for learning. Set up your own projects and learn by discovery.

edit: I'm just going to toss this in here, but Monogame was a big help for me in learning how to program both C# and games. If you're more interested in 2D game development, this might be a good way to go. Monogame is going to be substantially more programming-heavy than Unity, however.

u/ndguardian · 1 pointr/csharp

I have actually been using this book to learn C# and it has been helping immensely. It even tells you where in the book to begin based on your programming experience. Big book, but it really breaks everything down and lets you know how everything works.

u/GoldenShackles · 1 pointr/programming

For those in the Windows world I recommend reading:

http://www.amazon.com/Advanced-Windows-Debugging-Mario-Hewardt/dp/0321374460/

u/ExplosiveJames · 1 pointr/Unity3D

Haven't read it, however you could probably look at this https://www.amazon.co.uk/C-7-0-Nutshell-Joseph-Albahari/dp/1491987650/ref=sr_1_5?keywords=C%23&qid=1563967181&s=gateway&sr=8-5 however if you just want to learn the basics you could just watch youtube tutorials and go from there

u/sixothree · 1 pointr/csharp

I would suggest C# In A Nutshell. I consider it the definitive reference for people who already know a bit of programming.

https://www.amazon.com/C-7-0-Nutshell-Definitive-Reference/dp/1491987650

u/OriginalSyn · 1 pointr/reddit.com

Try ctrl+enter in any other browser in windows and it will append http://www. before and .com after. Just because your imagination prevents you from seeing that it's not a commonly used shortcut doesn't mean it isn't, and even if it's not apple is still breaking common UI that people expect should they want to use it.

As for Microsoft UI guidelines, I admit I'm not sure if it's cites specifically, there is a LOT of documentation to go through. I do know that the user experience guidelines suggest to follow Windows guidelines and common practices whenever possible. The User Experience guidelines specifically mentions that Ctrl+Pgdn/PgUp are the common means of navigating tabs.

Here's a book on the guidelines,
http://www.amazon.ca/Microsoft-Windows-User-Experience-Guidelines/dp/toc/0735605661

u/grauenwolf · 1 pointr/programming

Don't know, but this looks to be similar and it's only 6 USD used. https://www.amazon.com/Microsoft-Windows-Experience-Professional-Editions/dp/0735605661

u/thehumanhead · 1 pointr/sysadmin

It's old, but I enjoyed Powershell in Action Second Edition when I was learning. It explained in depth the how/why/mechanics of PS which was important in helping me remember as opposed to "this is what you do for this" instruction.

u/flatlandinpunk17 · 1 pointr/sysadmin

Windows PowerShell Step by Step (3rd Edition)

I picked up this book recently and once you have the basics down, this has been useful for me to see some of the more complex things I haven't yet thought of doing. It glosses over the basics quickly and gets to some of the more advanced features right out.

u/icedevil6 · 1 pointr/sysadmin

First I took a few of our VBScripts and translated them to POSH. Then I read a book. Then I started automating some of our AD processes and generating reports. Then I started developing custom tools for PDQ Inventory (things like getting the creator of a computer account, getting warranty information, deleting a computer account from AD).

It all just sort of snowballed for me because once you get an understanding of what Powershell can do, you start to realize how much more efficient you can be. It was easy for me to pick up because I went to school for CS and spent plenty of time writing code, but it can be just as easy for a traditional Windows admin to pick up as each GUI operation is essentially a POSH cmdlet.

u/americio · 1 pointr/csharp

For a quick overlook, this. And for a little bit more detail, this one.

u/ncgreco1440 · 1 pointr/gamedev

> I do NOT know C#

C# in a Nutshell

IMHO, the best book for learning C# from absolute beginner to advanced topics. Not all stuff will be usable in Unity however. But most stuff in that book will be applicable.

u/pleasedothenerdful · 1 pointr/sysadmin

From what I've read on /r/PowerShell, Windows Powershell in Action is the next one to read after Learn PS Toolmaking IAMOL.

u/thebigbradwolf · 1 pointr/IAmA

I have the perfect book for you.

u/vty · 1 pointr/technology

By beginner I'm guessing you mean to programming in general. Head Firsts C# book was absolutely fantastic for teaching the beginnings and getting me started.

http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824

u/pjmlp · 1 pointr/cpp

Just get the book "Programming Windows with MFC Second Edition", in case you don't have it.

http://www.amazon.com/Programming-Windows-MFC-Second-Edition/dp/1572316950/ref=sr_1_1?ie=UTF8&qid=1334214788&sr=8-1

For me it was one of the best MFC references back in the day when I was doing MFC development.

u/mr_pleco · 1 pointr/learnprogramming

I started at 23, and I can tell you that people who start out younger are usually considerably sloppier and much more clueless about what their code is doing than people who start older.

This started me:

http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824

http://www.amazon.com/Head-First-Python-Paul-Barry/dp/1449382673

u/jijilento · 1 pointr/learnprogramming

I just got c# 6.0 in a nutshell for Christmas, as I'm trying to get my .NET game up. I'm only about 200 pages in but I find it pretty effective. My first introduction to C# was through this video tutorial, which is good but not even a fraction of what you learn with the book.

u/Cefiroth · 1 pointr/learnprogramming

Ok then yeah Github isn't bad then. It works nicely in Visual Studio or Visual Code. I personally use the command prompt for it(it's how I was taught, but generally I prefer GUIs).

Not sure what book you are gonna need but I learned C# with Head First C#. It is easy to follow and has great examples.

Head First C# https://www.amazon.com/dp/0596514824/ref=cm_sw_r_cp_apa_CEMRzbPTBG8BG

u/arewegoing · 1 pointr/csharp

I found Visual Studio C# Step by step to be a good book for people who are just starting or are even on intermediate level.

u/Streitaxt · 1 pointr/pcgaming

I mostly buy physical editions, there are a lot on PC, also collectors editions, but as you said, there is most of the time a Steam key in it besides the Disks.

You can collect on PC quite well, but reselling is history.

As example I bought these three in march (all of them came with a Steam key):

Generation Zero CE

Frostpunk

Pathfinder: Kingmaker

u/CaptainStack · 1 pointr/learnprogramming

My dad was working his way through this to learn PowerShell"

http://www.amazon.com/Windows-PowerShell-Action-Second-Edition/dp/1935182137/ref=sr_1_fkmr1_3?ie=UTF8&qid=1374727827&sr=8-3-fkmr1&keywords=O%27riley+powershell

Honestly though, I don't see why you need to learn PowerShell at your level of programming. Command lines are great, but I would think someone of your experience should get something a little more pure and basic. What do I mean by this? You should be learning about programming as a way of thinking, not about specific tools.

I'm reading through "Think Python" right now, which is unique in that it's more about programming and less about Python. I think it's a great way to learn how to think like a programmer without being bogged down in specific technologies. You won't need anything but a basic Python interpreter. It's also free. Check it out here:

http://www.greenteapress.com/thinkpython/

u/timf3d · 1 pointr/programming

If you're talking about Windows, Windows Via C/C++ is what you want.

u/code_decoded · 1 pointr/learnprogramming

2 come to mind -

MFC:

https://www.amazon.co.uk/Programming-Windows-MFC-Jeff-Prosise/dp/1572316950

I've read this one when I used to do C++, it's pretty good, lots of detail.

 

Win 32, I believe the kind of book you're looking for is:

https://www.amazon.com/gp/product/B00HTK548M/ref=s9_acsd_top_hd_bw_b10O_c_x_4_w?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=merchandised-search-3&pf_rd_r=FGDVR6HEBN0Y5D76JC48&pf_rd_t=101&pf_rd_p=73707293-6e4a-5a72-aa83-153803115f9f&pf_rd_i=3868

I've not read this one but heard good things about it.

u/unSatisfied9 · 1 pointr/learnprogramming

I just found the following book, and I think it actually looks a bit better than the C# 6.0 in a nutshell book. I'd appreciate if someone could give his/her personal opinions on it.



http://www.amazon.com/gp/product/1509301046?psc=1&redirect=true&ref_=ox_sc_act_title_1&smid=ATVPDKIKX0DER

u/fancysuit · 1 pointr/learnprogramming

I have not read that book, so I can't really comment on it. Amazon reviews seem ok, but based on reviews, Head First C# may be a more appropriate beginner book.

u/SaratogaCx · -1 pointsr/programming

Even if you aren't going to use C++ I would suggest getting Windows Via C++ by MS press (http://www.amazon.com/Windows-via-Pro-Jeffrey-Richter/dp/0735624240). It is by far the best way to learn the internals on how windows works and helps a lot with those head scratching moments even with higher level languages. COM is also used a LOT in widows programming. Being able to understand how it works can be a big help as well.. There is the "Don Box Book", Essential COM which I'd buy. You'll probably only need the first couple of chapters but It is a really well written book as to not only what COM is but WHY it is and how it came to be.

Also for C++. If you have VS Express installed get the Windows SDK (it's free) and look up how to integrate it with VS. It is a LOT more powerful and you get a lot of useful tools with it as well as decent samples.

u/eegod · -3 pointsr/technology

Most of the value will be for companies trying to make software that will compete against Microsoft products.

Remember the sentence "DOS Ain't Done til Lotus Won't Run"? It has always been a Microsoft speciality, make a public API for the OS that's less efficient than the secret API they use in their own products.

That's why books like this have to be published.