|
Doesn't "doxygen" work for all .NET platform languages?
(this is a classic conditioning paradigm ... one in which the animal is theorized to learn from a discrepancy between what is expected to happen and what actually happens)
Bob and Al said it would work for all .NET languages last night.
|
|
|
|
|
That depends, do you like this BA?
SELECT
t.name Table_Name
, c.name Column_Name
FROM sys.tables t
INNER JOIN sys.columns c ON(t.object_id = c.object_id)
Common sense is admitting there is cause and effect and that you can exert some control over what you understand.
|
|
|
|
|
I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions accredited, I'm going to ask for some opinion on a matter near and dear to me.
My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks.
From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50.
Yes, I'll get to the question(s)!
Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript.
Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc.
I am most interested in how you've gone about being self-educated in different languages and technologies.
Thoughts?
cat fud heer
|
|
|
|
|
BiggerDon wrote: I am most interested in how you've gone about being self-educated in different languages and technologies.
Get a book, or a course: if you try and "pick it up as you go along" you miss far, far too much stuff. Books and courses both introduce the material in a structured way and (hopefully) cover all the material. And do the exercises! "Doing" something forces it into your brain better than "reading" something - so "looking at the answers" is not as effective a learning tool as sitting there and mucking the whole thing up!
And modern frameworks are seriously complicated - there are so many ways to do the same thing that it is too easy to use something "that works" even though it's "only just" when there is a better method that does it "properly". For example, you can use an ArrayList in VB / C# and it'll do the job - but a generic List<T> does the same thing much, much better!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff wrote: ArrayList
One of so many parts of .net that should be marked Obsolete.
|
|
|
|
|
Agreed.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff wrote: And modern frameworks are seriously complicated And how! On Monday I was dropped in the deep end, writing my first ever SharePoint web parts. Then I had weights attached to me when I discovered just how far removed writing Sharepoint Online hosted web parts is from simple old fashioned web parts that are basically a user control.
Yes, SharePoint isn't a 'framework' as such, more a platform, but the complexities boggle.
No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde
|
|
|
|
|
BiggerDon wrote: how you've gone about being self-educated in different languages and
technologies
I have found that I am more suited to a classroom situation, for the structure more than anything else.
I have not had trouble extending my study and knowledge of something on my own once I have a start, but that start requires a rather swift kick.
Examples:
When .net came out I read the spec of C# and bought "Visual C#" (essentially Visual Studio .net 2002 with only C#), then just kinda sat there looking at it. Then I took some MCAD classes (C#, ADO.net, ASP.net) and .
A few years ago I bought a copy of "Learn Java for Android in 21 Days" (or something like that). I installed the SDK and Eclipse, read chapters 1 and 2, and haven't touched it since. I should look for a class.
|
|
|
|
|
Thanks, PIEBALD.
Your experiences remind me of the foot of shelf space that has 20 year old books on C because I was convinced I was going to learn it.
Like you, I find the external expectations to be helpful, whether it is a project I've taken on (little ones) or taking a class/tutorial. It's the human need for positive feedback and the avoidance of negative perceptions.
That's why (in one of my responses here) I've talked about "Okay, what an I going to do with it?" when someone suggested a language. I want something back for my investment of time and brain power, not just an activity to check off or put on a resume.
cat fud heer
|
|
|
|
|
Something I have learned to do. Stop considering you books as books and start considering them as daily calisthenics. I do several pages every day usually after my daily deletion of spam. It takes a long time to finish a book. But you will finish. I like the "in easy steps" books because the layout makes it easy to just a little bit at a time.
|
|
|
|
|
Thanks, jhoga.
That sounds like advice I should take. I recently bought a book on VBA partially because it had a section on a subject I had not figured out yet. I still haven't walked through it. I should.
cat fud heer
|
|
|
|
|
Their is a whole bunch of MOOCs and online tutorials and websites in the net. Like "Code School" or "Ray Wenderlich".
The problem is: which way (Apple, Microsoft, Android,Linux) to go. A good starting point may be Java, because many languages are similar - but its like a religion...
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
I'd submit that the language is irrelevant: you can pick up most languages in a day or two (heck, the whole of C# is a couple of hours!).
What takes time is the framework the language will be used in: .NET, Android, iOS are all different, and they are a huge amount of learning.
Think about it: it you are competent at C#, you could learn and be competent in VB in a day or so (and most of that time will be swearing at it for being a stupid rather verbose language in comparison )
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thanks, Griff. Much appreciated.
I think you're right, the basics of the languages are much the same, as I mentioned above. Learning the syntax, at least to some level does not take long but the context (framework) is where the gold is, and mining isn't an easy task.
Regarding VB versus c# verbosity, I'm not sure exactly what you mean. My guess is what you are saying is it takes more lines of code to perform the same tasks. It's something I'll look at as I move forward.
OTOH, which of these is more verbose (yes, that's arguing by exception. )
VB: MsgBox("This is the message")
c#: MessageBox.Show("This is the message")
There is another point to the example. I found in a tutorial that Java Script considers "length" to be a property, whereas VB uses the "Len() function.
There can be arguments as to which is more "right", which to me is a theological angels-on-the-head-of-a-pin argument. In the background I know that the software has to do the same thing: determine the number of characters of the string. My only worry is how to get the data I need for code to work. Quod rectum est practica. (That which is practical is right, not "What a practical *". )
cat fud heer
|
|
|
|
|
|
OriginalGriff wrote: Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time!
Amen
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
----
Our heads are round so our thoughts can change direction - Francis Picabia
|
|
|
|
|
OriginalGriff wrote: What I'm talking about is things like this:
If a = b Then
DoSomething()
End If Instead of
if (a == b) DoSomething();
Ah, but this is valid in VBA (can't speak for VB with the A)
If a= b then DoSomething()
The "Then" is necessary but the End If only when more than one command follows. I find it neither better nor worse that using "{}" to establish the boundaries of the If (or Else) scoped commands. Just a different way of saying the same thing.
Me, I tend to use the End If whether there is one command or multiple. It makes it easier for me to find where I have left one out when the compiler complains.
OriginalGriff wrote: Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time!
That reminds me of a study around the time when PCs and Apples were first around. The study claimed the papers written on the PCs were of higher quality supposedly because the students with the Apples had less experience with working through detailed issues.
...and something else, "We learn from our mistakes then make bigger and better ones." I'm convinced there is no such thing as and idiot-proof language. There are so many human and social factors that go into developing an application of any size, discipline is always the first defense against nonsense.
As to the need for having "==" (or "===" as in java script) as a comparator, I'm not sold on it. Not opposed, just not convinced and don't care enough one way or another to make a case for or against. Like I said before, it's all in the practicality to me: what does the compiler expect.
cat fud heer
|
|
|
|
|
As far as "=" vs "==" goes, I made that mistake once in C:
if (x = 3)
{
... And it took forever to work out what the problem was, so it's not one I'll make again! In C#, that won't compile...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
See! The VBA compiler invokes the DWIT (Do What I'm Thinking) command!
cat fud heer
|
|
|
|
|
Java is only now getting lambdas. I wouldn't recommend Java as a first, non-necessity, choice at all.
No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde
|
|
|
|
|
Brady Kelly wrote: Java is only now <layer>getting lambdas.
whoa! That one got me googling! I had no idea what you meant by "getting lambdas", and now that I've looked it up I am wonderring what the difference is between a "true" lambda and what I have done in quaint vba, where a parameterized function is used as a parameter to a subroutine...
Call <subroutine>(<function>(<argument>)
Someday I'll figure that one out. When I do, I'm sore it will be a forehead slapper!
Brady Kelly wrote: I wouldn't recommend Java as a first, non-necessity, choice at all.
I am trying to pick the next language(s) based on "What can I do with this?" as well as "What can I learn?" IOW, Ada and Pick aren't in the picture.
However, my employer uses a scad of Java, so I might give it a look-see. Necessity may be the mother of Invention, but the necessities need to be paid.
cat fud heer
|
|
|
|
|
Oh wow, didn't know VBA could do that. My reply was more aimed at griff than you - and he should immediately know what I mean. I was reserving a longer and better reply directly to you for later, when I had thinking time
Nothing wrong with learning Java if your employer uses it. It's a solid language for loads of good OO principles, but just a little behind.
No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde
|
|
|
|
|
Brady Kelly wrote: Oh wow, didn't know VBA could do that.
I know something someone else at CP doesn't! Whoa! Another sign of the impending apocalypse!
Brady Kelly wrote: I was reserving a longer and better reply directly to you for later, when I had thinking time
You were? Does that mean that since I piped in I've ruined it all?
cat fud heer
|
|
|
|
|
Thanks, Karsten. I wasn't familiar with "MOOC". Now I've learned something thanks to you.
VBA wasn't my first language. As an Info Systems major in the 80's I had taken course in about 5 different languages by the time I graduated...Pascal, PL1, COBOL, FORTRAN, and the original BASIC. I think there was another one, but it's slipping my mind at this point. I touched, at least marginally, several more in the following years.
The reason I mention the above is I see there are two levels of learning a language.
The first is what I consider to be the basic syntax, i.e. how a module is defined, data definition statements, If and Case structures, looping, arrays, and parameters passing. To me all of those are just translation.
The second level is learning the why of the language, and then the how. For example, COBOL was the first language I learned that was strong as a file processor; with VBA I learned a slew about accessing, creating, and manipulating objects.
That second level is the one you addressed. I guess to this point I've looked at this incrementally (what step can I take next) rather than with a larger goal in mind.
Thanks for the prod!
cat fud heer
|
|
|
|
|
BiggerDon wrote: I am most interested in how you've gone about being self-educated in different languages and technologies.
A variety of ways - in the early days (1980's) I learned BASIC and assembly from reading books, which then actually had meaningful content. I also soaked up all the hardware books I could find. I learned C from K&R, C++ from Stroustrup and others, and Pascal from Borland. College taught me Fortran
C# I learned from playing around with it and reading MSDN articles - it was an easy enough transition from C/C++.
Conversely, Ruby on Rails was a monster. My first intro to a duck-typed language as well as diving into Ubuntu, web development (and all that comes with that). My client was also my mentor, and that was absolutely necessary and a far better experience than any collection of books could have given me, or classrooms, IMO. After two years of that, I've concluded that duck-typed languages are a Really Bad Idea.
I picked up PHP in a couple of hours -- the online documentation / community is outstanding.
As of two weeks ago, I'm doing my first ever Java coding. Some gnashing of teeth at some of the BS in the language, and I find the Oracle documentation sort of sucks. Funny how with PHP, I would find answers on the PHP site, while with Java, I find answer on Stack Overflow. However, Java is so similar to C# that it's a fairly easy transition, most of the learning curve is in the IntelliJ IDE and figuring out what framework components support what I want to do (like event listeners, hashmaps, etc.)
My recommendation? Start with what I think is the best programming language out there right now: C#. Everything else I've found to be a teeth gnashing experience (mind you, not that C# has those moments too, but they don't usually require a visit to the orthodontist afterwards.)
Marc
|
|
|
|
|