|
I love C++. Yeah, C++11 made it a lot better than what it was for sure. C# has some simplicity. I keep going back to C++ for gui work simply because WPF is just too insane. It requires a lot of "do it your damnself" rather than offering some simplistic stuff like (enable tab closing, no multiline tabbing, drag and drop previewing), etc. No C# book I have shows how to do sockets properly. I have yet to find decent documentation on C# sockets, especially with non-blocking event sockets.
I love programming, even if I have to deal with pointers. C++ offers a lot of gui frameworks like Qt, wxWidgets, etc. I prefer Qt, because win32, MFC, etc. just doesn't offer simplicity when designing gui applications in C++. I can easily have a nice gui program in way less time than I would in win32 and MFC. Microsoft's documentation is just piss poor on win32. COM is just horrible in C++ unlike in C#. That's another good thing about C# is COM development.
My only gripe about C++ is Microsoft's slow arse at adding features of C++11. It is so far behind it ain't funny. GCC, Clang, etc. are almost done with the implementation of C++. Microsoft doesn't offer continuous updates of their C++ compiler for C++11. You have to wait for the next major release of Visual Studio to find more features. I can almost use all of C++11 when I'm developing a C++ application in Linux. I wouldn't be able to port it to Windows for use.
This is how I see the Windows platform. If you are going to develop for it use C#. Don't even bother with C++. If you want C++ development switch to Linux.
|
|
|
|
|
xComaWhitex wrote: No C# book I have shows how to do sockets properly. I have yet to find decent documentation on C# sockets, especially with non-blocking event sockets. I found the help and MSDN to be more than adequate, if you understand the basics of socket communications.
We have a TCP/IP socket-based tracing tool we developed for debugging our distributed application. It requires several complex classes, including threading and pool support, in our C++ applications. I replicated all of the functionality in C# in less than a day.
Software Zen: delete this;
|
|
|
|
|
xComaWhitex wrote: C# has some simplicity. I
my app complicated enough, i don't need any further complexity to delete(thisshit)
xComaWhitex wrote: <layer> I keep going back to C++ for gui work simply because WPF is just too insane
yea think WPF sucks sh*t but why not just use Winform?
xComaWhitex wrote: My only gripe about C++ is Microsoft's slow arse at adding features of C++11
I started my career doing MFC/WIN32/C++ - but I wish C++ just die and everything just .NET/C# so I can only focus on real application logic/capability
xComaWhitex wrote: If you want C++ development switch to Linux.
I don't switch to another platform because it's cool or that I want to do C++
(I would if it *PAYS*)
xComaWhitex wrote: That's another good thing about C# is COM development.
Gosh, they used to say "COM is Love". WTF just hype ... all this complexity to for just a god damn procedure call? I remember one whole book just on DCOM while I can wire down any sh*t with C# in binary format with existing library or build new one for RPC in two days.
All in all, I wish C++ is dead and whole world just do one single language C# and one single API - .NET
dev
|
|
|
|
|
Thanks. Good stuff. Unfortunatley cannot vote.
|
|
|
|
|
As a programmer, have you ever had to work with multithreaded code? It's horrible. You might as well give up on unit testing and quality; concurrency bugs usually aren't very reproducible. Hence the old adage: "Some people see a problem and say 'I know, I'll use threads.' Now they have two problems...." We need a language where we can write code as we normally do (single threaded) and have the compiler transform it into multithreaded code automatically. Such a compiler could weigh the benefits of multithreading against the overhead of creating threads and optimize accordingly. This is the only solution to our long-term dilemma. Hardware will only get you so far. Better software is the answer.
|
|
|
|
|
I imagine this to also be the only practical way of writing code for multicore chips too.
=====
\ | /
\|/
|
|-----|
| |
|_ |
_) | /
_) __/_
_) ____
| /|
| / |
| |
|-----|
|
=====
===
=
|
|
|
|
|
|
OOP is great - I try use it as much as I could. But for some demanding scenario I revert to functional programming
For example, if you have a large number of "trades" to import/export, instead of doing it trade by trade, import them by bcp then in SQL update/add relevant fields to already imported records the relational/functional way
dev
|
|
|
|
|
Definately the next major step. We got memory management with Java and C#, now need to let the framework handle the threading. I know that a lot of my time is spent with threading, even if I do not exactly work with the threading class. I am sure there are issues with my threading, but things work. The future is not have to worry about threading, like we no longer worry about memory management.
|
|
|
|
|
That sounds like what the CPU is already doing automatically. (I mean The CPU pipeline tries to execute several instructions in parellel)
|
|
|
|
|
The coffers of Unix hold many simple tools, which by themselves are powerful, but when chained together facilitate complex data manipulations. Unix's use of functional composition eliminates much of the tedious boilerplate of I/0 and text parsing found in scripting languages. This design creates a simple and succinct interface for manipulating data and a foundation upon which custom tools can be built. Although languages like R and Python are invaluable for data analysis, I find Unix to be superior in many scenarios for quick and simple data cleaning, idea prototyping, and understanding data. This post is about how I use Unix for EDA. read | learn | pipe | rule!
|
|
|
|
|
Compared to any of the popular tablets—the various iPads, the Nexus 7, Amazon's range—the Surface Pro is absurdly overpriced and its battery life is pathetic. Compared to an Ultrabook, it's not that bad: a little ahead in some ways, a little behind in others. The thing is, in spite of its pricing, the Surface Pro isn't an Ultrabook.... This makes Surface Pro an awkward sale. Surface RT was difficult to categorize, and Surface Pro, if anything, exacerbates that difficulty.
|
|
|
|
|
Here are some technologies that have such strong "street cred", they are effectively untouchable. Anyone who dares imply that they are deficient in any way is instantly labelled an uneducated moron. It is impossible to have a realistic conversation about these technologies, and it's not very common for enthusiasts of these technologies to admit their failings. Why your pet technology sucks.
|
|
|
|
|
Clearly Linux isn't the best operating system, because OpenVMS is. And any lack of drivers for OpenVMS is a benefit, not a shortcoming.
|
|
|
|
|
|
|
In a world first, on 3 December 1992, an engineer sent the message "Merry Christmas" from a PC to a mobile device using Vodafone's UK network. But the origins of the idea date back further to Matti Makkonen. Over a pizza at a telecoms conference in 1984, the former Finnish civil servant put forward the idea of a mobile phone messaging service. This was to become the SMS (short message service) standard. An interview, 140 characters (or less) at a time.
|
|
|
|
|
Many of the broad family of specifications commonly grouped under the “HTML5” umbrella are scheduled to be completed in 2013, and with the release of Internet Explorer 10, the users of every major web browser flavor can enjoy rich Web apps written on the open web platform, with no need for plugins. Lots of people are excited about HTML5, but one group I don’t see as particularly excited are security experts, or perhaps they’re only excited in a rather cynical fashion. Full employment! Browser botnets! A lifetime of conference talks! HTML5 is a key part in one of the greatest security success stories in the history of computing.
|
|
|
|
|
Competition in automotive technology has long been about who’s got the most horsepower, the best towing capacity or the fastest acceleration. These days, though, it’s all about having the slickest infotainment systems and most-connected cars. The shift in focus from what’s under the hood to what’s behind the dashboard has brought a largely covert war to the auto industry over the operating systems that will control these gadgets. As in the smartphone biz, the battle line is between proprietary and open source software. The outcome will determine what these systems look like, how they work and how distinctive they are as automakers embrace walled gardens or open ecosystems. It looks like you're driving a car. Would you like help?
|
|
|
|
|
The original Arduino IDE is great for beginners, but it lacks a lot of features that advanced users need. And I've tried a lot of other solutions. But all were based on plugins and hacks to other IDEs, which lead to not-so-good performance. For example, a very famous plugin provided access to terminal console by adding a fixed option to the IDE Tools menu. So, if you're working with two different boards, you have to change this hard-coded option every-time.... Windows only. Surely someone appreciates this.
|
|
|
|
|
IDisposable is a standard interface in the .NET framework that facilitates the deterministic release of unmanaged resources.... Despite IDisposable having only a single method named Dispose to implement, it is commonly implemented incorrectly. After reading this blog post it should be clear how and when to implement IDisposable, as well as how to ensure that resources are properly disposed when bad things happen (also knows as exceptions). To dispose() or not to dispose(); that is the question.
|
|
|
|
|
The... “multiple layers of defense” strategy applies to modern software development. For example, even though the compiler will scream at you if your code does not make sense, there is no reason to skip fixing it, if you happen to see it on your editor.... The principles are summarized as: If you screw up, you want to know earlier than later, and the first layer should have the lowest cost and effort. Test early, test often... and get something to test automatically if you can.
|
|
|
|
|
Starved for articles mate? This one was a bit, well, weak.
|
|
|
|
|
Although there exist numerous books explaining principles and structures of operating systems, there is a lack of descriptions of systems actually implemented and used. We wished not only to give advice on how a system might be built, but to demonstrate how one was built. Program listings therefore play a key role in this text, because they alone contain the ultimate explanations... Built from scratch to teach system design with actual, working code.
|
|
|
|
|
Like most developers (I assume), I spend the majority of my workspace staring at a terminal window.... When you look at your terminal this much, it needs to be beautiful. More than that, it needs to know you. You need to have a history with it. No, not like that. Here are 5 things that you can do to make your terminal great. ...and it will love you bash.
|
|
|
|