5 ms·
Sigh. Bloomberg-er here -- this article is old. There is certainly a lot of Fortran remaining in sections (you don't rewrite working code with C linkage in anot
by apaprocki 11y ago
Sigh. Bloomberg-er here -- this article is old. There is certainly a lot of Fortran remaining in sections (you don't rewrite working code with C linkage in another language just because -- you rewrite it if you have something to gain), but it is nowhere near as bad as this old article makes it sound. Many teams are C++ only and have been for a long time (see our open-source code on GH for a sample). Keep in mind that if you deal in absolute numbers you are missing the bigger picture -- the actual real number will be much smaller and it will be an even smaller percentage of the total codebase.
edit: Can mods put (2006) in the title? Seems reasonable...
- zerr 11y agoRegarding C++, what are percentages of "90s style C++" vs Modern C++11/14?
- apaprocki 11y agoIf you read over BDE docs on Github you'll see that it currently targets C++03. It has a few C++11 detected features, and each new version release gains more C++11/14 support. So to answer your question -- neither. The vast majority of code is Modern C++03 and it is in the process of moving towards C++11/14.
- spacecowboy_lon 11y agoWhat REAL advantage does the switch to C++ from Fortran have for you? And NO not knowing fortran doesn't count if at 18 at my first job was told oh hear is a book on fortran learn it your graduates with a fancy CS degree can do the same.
- nazgob 11y agoThe fact that I can do something does not mean that I would like to do it. Learning Fortran from scratch in 2015 might be bad career decision for a new grad.
- USNetizen 11y agoNot necessarily. Even just a rudimentary familiarity with it, or another language like COBOL, they could find a six-figure gig right out of school in several markets. They don't need to specialize in it, just knowing enough to get by will make them coveted by hundreds of defense and government contractors, for example.
- jlarocco 11y agoThat seems unlikely. I can easily imagine guys with 40 years experience writing Fortran or Cobol getting six figures. Or even just 10 years. But I'd have to see it to believe it for a straight out of college kid and rudimentary familiarity with the language.
- Kurtz79 11y agoI cannot really see any negative in learning a new language, something that any programmer should feel comfortable with and look forward too. It's not like learning FORTRAN (or C, or Pascal, or COBOL) will make someone unable to program in other more markeatable languages.
- pauldix 11y agoThe negative is that time is a finite and limited resource. If a junior person spends their time learning about Fortran or some other esoteric thing while their peers learn skills or languages that are in demand, the junior person that learned Fortran will be at a disadvantage. Of course, if you're doing it just for fun, then I'd say there's no negative. But from a career perspective, you'd be better off learning more relevant skills.
- jkyle 11y agoFor someone starting out, there's such a thing as opportunity loss. What language would that person had learned if they had not spent that time learning Fortran? Would that language had been more marketable in their next job? Further, what you used your last job matters. Particularly if that job is the _only_ real job since you got out of school. If you just learned Fortran for fun or for a job in a long list of jobs and your github account is littered with good work in multiple languages, Fortran can indicate flexibility, diversity, and a a broad skill set. If all I see is one job with Fortran for 2 or 3 years after school I might hesitate to hire you for a <insert language here> job at anything but entry level. edit Just a note, I think Fortran is a fine language and anyone whose done a decent amount of linear algebra work knows what a big role Fortran plays in analytics. My main point is that you should care about what your first job(s) are coming out of school because they can shape what the next jobs are going to be. So make sure it's something you want to be doing.
- apaprocki 11y agoWhen you actually take a look at the bulk of FORTRAN, it looks suspiciously like C -- and it has C linkage. So, to me personally, I lump FORTRAN and C together in my head and then the question becomes "What real advantage does the switch to C++ from C have for you?". You can find vast amounts of information on the web to answer that question :) I have not known a single person in over a decade to go out and specifically learn FORTRAN as a separate language. Schools still provide graduates with C programming skills and any C programmer comfortable with the language can not only immediately read most FORTRAN, but can modify it as well.
- vonmoltke 11y ago> "What real advantage does the switch to C++ from C have for you?". You can find vast amounts of information on the web to answer that question :) As well as vast numbers of religious flamewars. I'm personally of the camp that (C || Fortran || "C with classes") + (Java || C# || Python || ${HIGHER_LEVEL_LANGUAGE}) is better for nearly any complex, performance-sensitive task.
- iheartmemcache 11y agoPeople also have this false preconception that you have to write everything in Fortran77. You can keep a F77 codebase alive, while writing Fortran 90 (0) code which is surprisingly modern, has amazing mathematical computational performance (especially with Intel's MKL and compiler), and the language has amazing OpenMP integration. I'm with you on combining the best tool for the job and sometimes having a Java/C/Python wrapper is useful, but you can retain your Fortran tried-and-true-and-tested code-base while adding feature enhancements compiling against the Fortran2003 standard and often eliminate the need for wrappers. I guess the practical problem is finding F2003 engineers is way more challenging than a Java or C# dev. 0: F90 was the "big" upgrade that came out which made Fortran "modern", but there have been continuous upgrades like F95, and Fortran 2003 (I guess this would be analogous to C++17) which make it perfectly fine to write.
- arcanus 11y ago> I have not known a single person in over a decade to go out and specifically learn FORTRAN as a separate language. I much prefer c/cpp, but fortran remains pervasive in scientific computing and being conversational in it remains a prerequisite for fields in high performance computing, IMO.
- raldi 11y agoSeconded. I worked at Bloomberg from 2003-2007, and over the course of that time I think I needed to change about five lines of Fortran total. It was mostly used in "if it ain't broke" systems that weren't seeing a lot of change; everything under active development had long since been rewritten in C, C++, or a higher-level language.
- beloch 11y agoI'd be interested to know what kind of systems remain Fortran. Fortran has some serious advantages over C or C++ when it comes to high performance math and stats. I wouldn't be surprised if a lot of the heavy number crunching is done in Fortran, while C++, etc. are taking over functions that are further away from the hard math.
- raldi 11y agoOne fun thing you can do in Fortran (on a 32-bit machine) is compare four-character strings using integer equality, rather than the Fortran equivalent of strcmp(). And it's basically baked into the language; you don't have to do weird typecasting or anything like that. That's why all the Bloomberg functions have four-letter names.
- airza 11y agoAs far as i know C and C++ have similar performance now that you can use restrict to allow aggressive pointer alias analysis. Is this not the case?
- forgetsusername 11y ago>Sigh. Bloomberg-er here -- this article is old. Why be offended, rather than excited to get to come in here and to expound on what you do for a living? It's what makes the comment section great.
- tgcordell 11y agohttps://xkcd.com/1053/ https://xkcd.com/1053/
- apaprocki 11y agoIt's more exasperation than anything else.. that the only things that seem to make the news cycle wrt Bloomberg are "OMG!! Fortran!!" when it comes to programming, and the UXMag we-know-more-than-you 5-year old article when it comes to our UX design and roadmap, coupled with the fact that people think a 10 year old gif they found on Google Images is what the software actually looks like today. IMO, comment sections aren't really a great place for discoverable information, so maybe I'm thinking more in-depth posts need to be created that actually peek behind the curtain a bit so they are ranked better when searching. Right now, you can only glean information about certain areas/technologies from individuals that represent them if you know where to look. e.g. Here's a recent video interview with Matt Hunt from our Portfolio Analytics team regarding some of their problems/infrastructure https://www.youtube.com/watch?v=cMj2V3U4J3k https://www.youtube.com/watch?v=cMj2V3U4J3k
- nkassis 11y agoI think this kind of obsolete information may also hinder them when they try to hire. Good engineer may have a bad perception about how it is to work there and overlook them. They could change that perception with being more open about how they go about developing software (like their GitHub account). But these article showing up every one and a while goes against their efforts hence why I can see why OP may get annoyed about it.
- oneJob 11y agoLast time I was in the Bloomberg building much of their Dev Dept was underground, and they have a neon art display which is supposed to simulate a sunset, or natural light, or something. Sure, visiting Bloomberg and getting the tour leaves you with a wonderful expression, but those that I know that have worked there in the past wouldn't compare the work environment to Google. Bloomberg is much more of an "East Coast" company, and feels like it. Having said that, I had a Bloomberg Terminal subscription for five years. I friggin' loved it. Regardless of whatever might be behind the screen, it's still an amazing, powerful, gorgeous tool. I miss my B-Unit, oh so badly.
- deleted 11y ago[deleted]