Click here to Skip to main content
12,951,710 members (76,053 online)

Nemanja Trifunovic - Professional Profile


    Blog RSS
Born in Kragujevac, Serbia. Now lives in Boston area with his wife and daughters.

Wrote his first program at the age of 13 on a Sinclair Spectrum, became a professional software developer after he graduated.

Very passionate about programming and software development in general.
  • 24 Aug 2009: Best C++/MFC article of July 2009
  • 24 Feb 2007: Best C++/MFC article of Jan 2007


For more information on Reputation please see the FAQ.


Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege, and the given member types also gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilverAdmin
Bypass spam checks when posting contentsilversilversilversilversilversilversilverSitebuilder, Subeditor, Mentor, Protector, Editor, Staff, Admin
Store personal files in your account areaplatinumplatinumSitebuilder, Subeditor, Supporter, Editor, Staff
Have live hyperlinks in your biographybronzebronzebronzebronzebronzebronzesilverSubeditor, Protector, Editor, Staff, Admin
Edit a Question in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Edit an Answer in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Delete a Question in Q&AYesSubeditor, Protector, Editor, Admin
Delete an Answer in Q&AYesSubeditor, Protector, Editor, Admin
Report an ArticlesilversilversilversilverSubeditor, Mentor, Protector, Editor, Staff, Admin
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubeditor, Mentor, Protector, Editor, Staff, Admin
Edit other members' articlesSubeditor, Protector, Editor, Admin
Create an article without requiring moderationplatinumSubeditor, Mentor, Protector, Editor, Staff, Admin
Approve/Disapprove a pending QuestionProtector, Admin
Approve/Disapprove a pending AnswerProtector, Admin
Report a forum messagesilversilverbronzeProtector, Editor, Admin
Approve/Disapprove a pending Forum MessageProtector, Admin
Create a new tagsilversilversilversilverAdmin
Modify a tagsilversilversilversilverAdmin

Actions with a green tick can be performed by this member.

GeneralRe: Threads in Standard C++ ? Pin
Ryan Binns8-Feb-05 17:20
memberRyan Binns8-Feb-05 17:20 
GeneralRe: Threads in Standard C++ ? Pin
Anders Dalvander9-May-05 20:09
memberAnders Dalvander9-May-05 20:09 
GeneralRe: Threads in Standard C++ ? Pin
WREY7-Jun-05 16:58
memberWREY7-Jun-05 16:58 
GeneralRe: Threads in Standard C++ ? Pin
Nemanja Trifunovic15-Jun-05 5:54
memberNemanja Trifunovic15-Jun-05 5:54 
GeneralA book: Advanced .NET Programming Pin
Nemanja Trifunovic22-Sep-04 6:51
memberNemanja Trifunovic22-Sep-04 6:51 
GeneralSFU vs Cygwin Pin
Nemanja Trifunovic21-Sep-04 6:12
memberNemanja Trifunovic21-Sep-04 6:12 
GeneralStatic classes in C# 2.0 Pin
Nemanja Trifunovic29-Aug-04 11:47
memberNemanja Trifunovic29-Aug-04 11:47 
GeneralForofobia Pin
Nemanja Trifunovic20-Aug-04 2:54
memberNemanja Trifunovic20-Aug-04 2:54 
I rarely take part in Soapbox forum discussions, and generally find them boring. However, this rant was really great - a sort of Declaration of Independence from STL - style programming:


Peterchen[^] seems to be pretty angry with the trend in modern C++ to replace loops with STL-like algorithms. He says, among other things:

Look the framework we have to build to minimise (not remove, just "minimise") writing loops:

iterators. const. unidirectional. bidirectional. reverse iterators. const or not. iterator adaptor. functors. binders. composers. bind. function. lambda library. anything I forgot? most likely. We need to templatize like hell, bending the compiler to a point where we are happy it makes it through our code alive - and when not, we don't dare ask for sensible error messages. To avoid what?


It's a loop, for god's sake. It's not a bear trap, it's not the infamous goto-spaghetti mess, it's not a terrorist nuke we have to keep out of our code whatever sacrifice of sanity is necessary.

What can go wrong in a loop?
- you forget to increment
- you are off by one
- you invalidate the container or the iterator

The first requires some discipline, the second some basic calculus training, and the third heaven forbid thinking! whoo!


Resolution: From now on I'll call all algorithm aficionados loopophobics. Yes, Scott Myers, this includes you.

Some of the comments from the fellow programmers:

after a certain point, trying to turn C++ into Haskell just creates confusion for anyone unfortunate enough to have to maintain the code.

for loops are way too readable, the whole purpose of STL and especially Boost is to enable the production of completely unreadable code that will utterly confuse the slack-jawed imbecile who only knows C# and is asked to maintain my C++ code.

This seems to be complexity for complexity's sake, or possibly just to distance itself from anything obvious non-STL

Peterchen mentioned Meyers probably because of his article STL Algorithms vs Hand-Written Loops[^] in which he generally favors the use of algorithms rather than loops.

However, I would agree with Meyers' conclusion on this matter:

In the ongoing tussle between algorithm calls and hand-written loops, the bottom line on code clarity is that it all depends on what you need to do inside the loop. If you need to do something an algorithm already does, or if you need to do something very similar to what an algorithm does, the algorithm call is clearer. If you need a loop that does something fairly simple, but would require a confusing tangle of binders and adapters or would require a separate functor class if you were to use an algorithm, you’re probably better off just writing the loop. Finally, if you need to do something fairly long and complex inside the loop, the scales tilt back toward algorithms, because long, complex computations should generally be moved into separate functions, anyway. Once you’ve moved the loop body into a separate function, you can almost certainly find a way to pass that function to an algorithm (often for_each) such that the resulting code is direct and straightforward

<a href => My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
GeneralHeron Pin
Nemanja Trifunovic12-Aug-04 3:47
memberNemanja Trifunovic12-Aug-04 3:47 
GeneralRe: Heron Pin
cdiggins12-Aug-04 10:56
membercdiggins12-Aug-04 10:56 
GeneralRe: Heron Pin
Nemanja Trifunovic13-Aug-04 8:22
memberNemanja Trifunovic13-Aug-04 8:22 
GeneralRe: Heron Pin
cdiggins13-Aug-04 8:52
membercdiggins13-Aug-04 8:52 
GeneralRe: Heron Pin
Mr.Prakash26-Sep-04 8:09
memberMr.Prakash26-Sep-04 8:09 
GeneralRe: Heron Pin
Mystifier0028-Jan-05 18:22
memberMystifier0028-Jan-05 18:22 
GeneralRe: Heron Pin
Nemanja Trifunovic29-Jan-05 4:58
memberNemanja Trifunovic29-Jan-05 4:58 
GeneralRe: Heron Pin
Jim Crafton14-Mar-05 4:55
memberJim Crafton14-Mar-05 4:55 
GeneralRe: Heron Pin
Nemanja Trifunovic16-Mar-05 1:48
memberNemanja Trifunovic16-Mar-05 1:48 
GeneralRe: Heron Pin
Jim Crafton16-Mar-05 3:42
memberJim Crafton16-Mar-05 3:42 
GeneralVS 2005 Non-Express Beta 1 Pin
Nemanja Trifunovic1-Aug-04 4:28
memberNemanja Trifunovic1-Aug-04 4:28 
GeneralHow to use C++/CLI? Pin
Nemanja Trifunovic23-Jul-04 2:52
memberNemanja Trifunovic23-Jul-04 2:52 
GeneralRe: How to use C++/CLI? Pin
Nick Parker29-Jul-04 9:20
protectorNick Parker29-Jul-04 9:20 
GeneralRe: How to use C++/CLI? Pin
Nemanja Trifunovic29-Jul-04 13:58
memberNemanja Trifunovic29-Jul-04 13:58 
GeneralRe: How to use C++/CLI? Pin
Nick Parker29-Jul-04 17:29
protectorNick Parker29-Jul-04 17:29 
GeneralMy first hands on experience with generics Pin
Nemanja Trifunovic17-Jul-04 8:41
memberNemanja Trifunovic17-Jul-04 8:41 
GeneralBad habits of "old-style" programming Pin
Nemanja Trifunovic13-Jul-04 3:05
memberNemanja Trifunovic13-Jul-04 3:05 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Advertise | Privacy | Mobile
Web01 | 2.8.170525.1 | Last Updated 26 May 2017
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid