[Novalug] C++ "news"

James Ewing Cottrell 3rd JECottrell3@Comcast.NET
Fri Jun 17 01:59:10 EDT 2011


  I'd have to agree that looking at and producing real code are 
definitely the forge that hones ones skills.

But it won't mean much if you don't know the fundamental data structures 
and algorithms, and those really *don't* change much, even if they are 
couched in new forms (structs become classes, but we're still doing 
Lists and Trees).

But given that college courses are Theoretical, and given that Practice 
changes (sometimes too) rapidly (as well as too gratuitously), Evolution 
rather than Revolution is often what is called for. The Curricula needs 
to be somewhat stable, yet incorporate Real World experience into the mix.

Working on an open source project might get you hired faster, but that 
effect could just as well be due to Networking...people will get to know 
you and Connections will be shared.

I would also counter that it is not always Excellence that Gets and 
Keeps you hired. Many companies don't want Change and Innovation; they 
want Predictability and Continuity.

Yeah, I'd love to play with D, but who has the time? I'd rather home my 
Python and Ruby skills, as well as work on lots of other utilities and 
technologies.

JIM

P.S. Gee, this (pun intended?) discussion has become more Theoretical 
than Practical...I didn't even get to talk about C++ features...I guess 
that's another post.

On 6/16/2011 9:33 PM, Varol Okan wrote:
> The big question is that if people coming out of university with a CS
> major why are they not taught at university levels.
>
> If people don't get exposed to the state of the art developments in the
> area of their field, they will fall victim to the believe that
> everyhting they learned is static. This may be true for some areas (
> like math or ... hmmm can't think of any other good example ) but
> especially CS is a rapidly developing area.
>
> That on the other hand means it is fairly easy to spot the good from the
> bad.
>
> But along the same lines, I think the people who are currently in the
> work force but do not keep up will have immense issues finding another
> job in the open market. So reading maybe Ajaxian, slashdot, or even
> freshmeat will give you that edge IMHO over the others which I will weed
> out in a heart beat.
>
> Working on an open source project in your area of expertise will almost
> certainly guarantee that you'll get a job fast ( unless your code looks
> really bad ).
>
> So how did we get from C++0x ( should be C++1x ) to the work force again :)
>
> Oh, as for D. I watched a video on YouTube about D's meta programming.
> In general I think if you want to learn the language, play with it ...
> maybe start your own open source project, like a D interpreter /
> compiler in D itself :)
>
> My 2c for the day
>
> Varol
>
>
> On 06/16/2011 06:50 PM, James Ewing Cottrell 3rd wrote:
>>     Well, since it is so new...how would anyone know? I suppose that it
>> might be a good litmus test, separating the true geeks from the merely
>> competent.
>>
>> So...why the name? C++0x is a Syntax Error....isn't it?
>>
>> I was actually surprised at how common still C++ is when I read the
>> article. I think Java is a vast improvement on the Language, but the
>> [Java] Implementation leaves a lot to be desired....in their attempt to
>> embrace Widows it has become not-UNIX...with Properties instead of
>> Environment variables...a Registry...and no character/line-oriented I/O
>> (or has that changed?), and more XML than I'd care to deal with.
>>
>> I bought the D book but I haven't cracked it yet....should be a Good
>> Read, but I wonder where I'd use it.
>>
>> JIM
>>
>> On 6/15/2011 11:03 PM, Varol Okan wrote:
>>> I love C++ ...
>>>
>>> Actually one of my interview question for Associate programmers,
>>> What are some of the new features in C++0x.
>>>
>>> Why, a programming language can change ... Well of course. Actually it
>>> must if you think of it. Just like human languages evolve.
>>>
>>> So here is my beef with it though. While I welcome enhancements like
>>> naming the default constructor and threading support I don't like the
>>> fact they use a functional approach to an object oriented language.
>>>
>>> I don't see a big difference in the utilization of std::thread vs
>>> pthreads, which makes me wonder ... why ...gee whizz, why ?
>>>
>>> C'mon, a construct to avoid automatic type conversion ...
>>>
>>> template<class  T>     void  f(T)  =  delete;
>>>
>>> 1) why not re-use the 'explicit' keyword just like in the constructor
>>> instead ...
>>> 2) delete ... why those embasils ... delete
>>>
>>> Anyhow I don't want to bash it too hard here but I am puzzled as to why
>>> the whole multi threaded thingy can not be better integrated into the
>>> language itself. Another nice-to-have would have been a message passing
>>> mechanism, and a garbage collection.
>>>
>>> There have been two major changes in PCs the past decade.
>>> 1) Multi core / Multi CPU machines are now common to the point of the
>>> ear extinction of a single core chip.
>>> 2) HW Gfx acceleration is much more powerful and OpenCL/CUDA came along
>>> to leverage the power ( and give a lot of pain to the programmer )
>>> While in the long run Gfx cards might ( or might not ) disappear into
>>> the CPU, as the math co-processor did, the new standard does nothing to
>>> cope with these structural changes in CS.
>>>
>>> Also the more I used C++, the more I utilized meta programming, like
>>> templates. There has got to be a better way than templates. but
>>> lo-and-behold even D is using templates, go figure.
>>>
>>> So needless to say that I am currently working on a solution of these
>>> shortcomings. LLVM provides a darn good starting point.
>>> http://www.parallelaxiom.com/node/15
>>>
>>> and for the meta programming I though of
>>> http://www.parallelaxiom.com/node/33393 ( scripting )
>>> and
>>> http://www.parallelaxiom.com/node/33397 ( dynamic language extension )
>>>
>>> ... oh and speaking of scripted C++, I used CINT (
>>> http://root.cern.ch/drupal/content/cint ) in one of my previous server /
>>> client apps to implement a scripting interface to our servers in C++.
>>> Anyone interested in C++ should download the latest svn of CINT,
>>> compile, and play with the scripting engine a bit. It's a lot of fun.
>>>
>>> C++ is very powerful, fast, and well known. You can write like a monkey
>>> or like an artist. C++ scripting was a cool new thing I found a year
>>> ago. If you ask me, there is only one other language out there which
>>> comes close in usability and flexibility: JavaScript. but let's not get
>>> into the "why can I emulate a PC in JavaScript", or "run Doom in
>>> software inside the browser" argument quite yet.
>>>
>>> Varol :)
>>>
>>>
>>>
>>>
>>>
>>> On 06/12/2011 07:55 AM, Ed James wrote:
>>>> I, for one, welcome our new C++0x overloads.
>>>>
>>>> Ed James
>>>>
>>>> http://www.theregister.co.uk/2011/06/11/herb_sutter_next_c_plus_plus/
>>>> _______________________________________________
>>>> Novalug mailing list
>>>> Novalug@calypso.tux.org
>>>> http://calypso.tux.org/mailman/listinfo/novalug
>>> _______________________________________________
>>> Novalug mailing list
>>> Novalug@calypso.tux.org
>>> http://calypso.tux.org/mailman/listinfo/novalug
>>>
>> _______________________________________________
>> Novalug mailing list
>> Novalug@calypso.tux.org
>> http://calypso.tux.org/mailman/listinfo/novalug
> _______________________________________________
> Novalug mailing list
> Novalug@calypso.tux.org
> http://calypso.tux.org/mailman/listinfo/novalug
>




More information about the Novalug mailing list