Oppiekoffie
Expert Member
- Joined
- Oct 25, 2016
- Messages
- 1,468
- Reaction score
- 20
Finding employment.
PHP , wordpress, upskilling Java and SQL
PHP , wordpress, upskilling Java and SQL
South Africa’s biggest forum. Discuss, discover, and connect with thousands of members.
Haha always difficult to secure a unique name across all platforms; but yes it's very surprising I was able to secure codefunc so easily considering they apparently had co.za reserved since 2013.Weird that CodeFunc never reserved that name on GitHub. Their loss...Sell it to them![]()
Carry over of last year's objective?
Indeed. But this time actually making time for it.[)roi(];18948796 said:Carry over of last year's objective?
A good C# reference is usually sufficient for the syntax parts; for the rest I'd suggest reading topic specific articles on a popular C# code blog, for example:Continue focusing on C# this year try to nail down some of the more advanced concepts of OOP. I'm still tinkering with Collections and Generics, pretty much anything in the System.Collections.Generic namespace and also to get my head around Delegates, Lambda expressions etc.
By the end of this year I want to be able to understand DI and perhaps be able to build an MVC project from scratch.
The main books I'm working through at the moment (working through as in using as study sources on each topic not reading them each entirely)
C# 4.0 The Complete Reference - Herbert Schildt
Beginning C# Object-Oriented Programming [2013]
CLR via Csharp (Jeffrey Richter 4th Edition)
Head First C#
Microsoft Visual C# Step by Step by John Sharp [2013]
OReilly CSharp.5.0 in a Nutshell 5th Edition [2012]
Pro Csharp 5.0 And The NET 4.5 Framework by Andrew Troelsen
Professional C# 2012 And NET.4.5 [Wrox]
Edit: I still have a big soft spot for VB.NET and don't want to abandon it so I'm hoping everything I learn in C# will help me with that too.
aside from 1 or 2 namespaces the only real difference between VB.Net and C# is sytnax.
Pretty easy to duplicate that behavior in C#, so yeah it's a stupid reason to stick with VB.Net.VB.NET has indexed properties...which apparently is useful (or so I've been told over and over again by a guy that thinks C# is fundamentally fscked).
[)roi(];18949650 said:Global declaration, including functions (the need to wrap everything in a class is painful)
[)roi(];18949650 said:
Pretty easy to duplicate that behavior in C#, so yeah it's a stupid reason to stick with VB.Net.
If anything C# still lacks:
I could go on...
- True first class functions; without all the wrapper plumbing and type casting.
- Global declaration, including functions (the need to wrap everything in a class is painful)
- Type aliasing for complex type definitions
- Real value types (i.e. absolute immutability)
- More powerful extensibility methods (incl. for custom operators + more symbols)
- Turn enum in something really useful e.g. associated value type construct: feature similar to struct / class
- Better generics
- ...
[)roi(];18949078 said:A good C# reference is usually sufficient for the syntax parts; for the rest I'd suggest reading topic specific articles on a popular C# code blog, for example:
- codeproject.com
Ps... re VB I get the sentiment, however it's a very much unloved language in the MS world; however if you're VB.Net proficient the switchover to C# should be rather simple; topics like DI and MVC are just as relevant in VB.Net as they are in C#.
All languages have Pros and Cons; C# like Java is quite verbose; arguably their strong OOP ties made them overtly heavy on the plumbing; the latter being the worst of the two.To speed up writing some of the utilities (and for fun) I decided to use c#.
It is bit frustrating coming from c++ since every now and then you realize c# does not have certain language construct or it has some limitation.
More on OP:
Become more proficient with python and c#.
Up my c++ knowledge, especially new language features.
Do more small fun projects.
Thanks. Good luck.Codeproject and Stackoverflow are undoubtedly my biggest source of help to date. Nice thing with stack is that the answers are rated.
C# is my main focus now but I will always go back and translate what I've learned in to VB.NET so at the moment I have two identical projects going, a 3 tier Job Management system and just last week I am now using Interfaces in them from what I learned in the other thread here.
You have been such a great help roi and your post in that thread just dropped all the puzzle pieces into place. You should have been a teacher. You get great coders who are lousy teachers then you get a tiny few who are also good coders and good teachers you fit into that category.
Anyway next today is Stacks and Queues
[)roi(];18952520 said:All languages have Pros and Cons; C# like Java is quite verbose; arguably their strong OOP ties made them overtly heavy on the plumbing; the latter being the worst of the two.
As example I've in my free time worked on equivalent Functional Programming (FP) extensions for Java & C#; basically to cover a few shortfalls related to FP coding in both (this FYI will be covered in more detail in articles I'm working on for my blog). Results so far:
This is for equivalent FP functionality; as comparison, most of this is native to newer languages like Rust, Swift, and the like.
- Java: ~1100 lines of code.
- C#: ~300 lines of code.
Yet a lot of this limitation is not solely inhibited by structural limitations, meaning its possible to alleviate some of this with future updates, as happened for example with:
C# although starting well after Java is ahead of the curve when it comes to syntactic sugar and type inference. Yet structurally and for compatibility reasons; both will never be as terse / generically flexible as some of the newer languages. As for the future; Oracle seems committed to ensuring the longevity of Java, and with MS, I've only heard a few rumors about them working on a replacement for C#, called "M#"; targeted not only at the current scope but also extended to System Programming (similar to Rust and Swift).
- C# LINQ and Java 8