|
Jeffrey of YOSPOS posted:I do mostly low-level stuff and what I want to see on a resume is experience in systems programming, with examples of projects worked on. From there I can often reason about what sort of thing the person was doing and follow up on it on a phone interview. A combination of being able to talk specifics about your prior projects and what you personally did, and pass (difficult) technical interviews will do it. Sometimes if a company is unsure that you know your stuff they'll have you take an online C++ test or something before bringing you in. Sure this makes sense for what to do during phone interviews, but I was actually asking about what comes before that point: specifically, what you put on that resume to actually get to that phone interview. Do you just put "C++" on your resume and then you hope that you don't get Black Hole'd so that you can actually talk to a human being about your experience with the language?
|
# ? Dec 18, 2017 23:39 |
|
|
# ? Apr 27, 2024 22:21 |
|
Love Stole the Day posted:Sure this makes sense for what to do during phone interviews, but I was actually asking about what comes before that point: specifically, what you put on that resume to actually get to that phone interview. Do you just put "C++" on your resume and then you hope that you don't get Black Hole'd so that you can actually talk to a human being about your experience with the language? Talk about projects that you've done using C++ and you can say specifically "in C++" in the description if you'd like. I look for a cluster of related things including not only the language C++ but also low-level computer systems knowledge in general. If I were instead at a game company I might look for game programming projects instead. I don't know how it works at really big companies but our resume screeners read the project descriptions and aren't just looking for keywords.
|
# ? Dec 18, 2017 23:48 |
|
C++17 (or whatever you know) rather than C++. Especially don't put C/C++ as a skill on your resume. Esp. if you're new to the industry, put your github on your resume with a project using some of the libraries I said before so you demonstrate that you can work with other people's code (they are way way better implemented than half the poo poo you will find in production but eh.) I'm not in charge of hiring but generally people get in because they could demonstrate C++ knowledge; C++ is a gigantic hell language so you're not expected to know all of it nor all of the third-party libraries. You're expected to know how to use it though and a personal project is a good demonstrator of that. e: also C++ might not be a good choice if you're trying to break into programming as a career regardless. The job market where I am for C++ is pretty dire. The Phlegmatist fucked around with this message at 15:35 on Dec 19, 2017 |
# ? Dec 18, 2017 23:53 |
|
I guess it helps if you have previous jobs or stuff you can use, ie I have modern C++ as a skill for people who search for keywords, but my list of experience goes like - "Modernized university course to teach C++14 and then spent 2 years teaching" - "2 years of programming soft real time safety critical systems in C++" - "year of maintaing popular C++ OSS project" - "year of programming medical software in C++" ... not sure what else would you expect there? 2 years of using Boost?
|
# ? Dec 19, 2017 19:04 |
|
The only thing I'd say is: I've read the mp11 documentation, I understood it and was able to use it. More than that is just fluff.
|
# ? Dec 19, 2017 19:18 |
|
My friend is doing Arduino dev using Embed XCode and a full C++ stack. Today he called me because he has a problem with the following code: What happens is the following: when position_1.state == 1, it's like old_position never gets "stored". The output looks like this code:
code:
I did a global search for old_position and I can confirm this is the only place that this variable is called. Would it be possible that some kind of compiler optimisation is doing something weird? Or do I tell my friend to read his code one more time because there is absolutely 100% no way that this is some kind of compiler bug?
|
# ? Dec 19, 2017 20:13 |
|
So obvious point would be cPosition being reset before each call.
|
# ? Dec 19, 2017 20:30 |
|
Is old_position set outside of that if statement? If not ,then that's a problem.
|
# ? Dec 19, 2017 20:42 |
|
MrMoo posted:So obvious point would be cPosition being reset before each call. Yeah it's one of the first things I looked for. I will look one more time, more carefully. Volguus posted:Is old_position set outside of that if statement? If not ,then that's a problem. No, a global search for a string of "old_position" yielded only 3 results, which are the 3 uses you see in that code. So what do you think? (This is not the final code, he stripped it down all day trying to isolate the cause and found this odd thing) go play outside Skyler fucked around with this message at 20:50 on Dec 19, 2017 |
# ? Dec 19, 2017 20:47 |
|
go play outside Skyler posted:Yeah it's one of the first things I looked for. I will look one more time, more carefully. I think that old_position has not been initialized. Initialize it to some value (0?, 1? whatever you think it should be) in the initializer's list or somewhere. The idea is that it should have a known value by the time the first position_1.state != old_position is being done.
|
# ? Dec 19, 2017 21:08 |
|
I have a C++ question that isn't really a C++ question. I am building a library that is not generating a PDB file for release build. The library is called SFML. However, I need PDBs or some kind of information because I am trying to debug this crash that has only happened in release builds so far: code:
I don't know how to make visual studio create a PDB file when I build this library. This really old article tells me it is in "linker" settings, but I don't have linker settings https://blogs.msdn.microsoft.com/yash/2007/10/12/pdb-files-what-are-they-and-how-to-generate-them/ Here's a question and article about how to generate a pdb for a release build, but I don't know what to do with the answers. https://www.wintellect.com/correctly-creating-native-c-release-build-pdbs/ https://stackoverflow.com/questions/28178978/how-to-generate-pdb-files-for-release-build-with-cmake-flags It seems like I need to do something with CMake in order to get CMake to create a Visual Studio solution that will create a pdb, but I don't really want to learn anything about CMake right now, or ever. I dunno you guys. What course do I take in these trying times?
|
# ? Dec 22, 2017 23:37 |
Are you actually using CMake to generate the MSBuild project files for running the build? If not, you shouldn't need to involve another tool for it. When you open the Properties for the project in VS you should be able to set it up here:
|
|
# ? Dec 22, 2017 23:55 |
|
Ok I guess I was literally just looking in the wrong place because I couldn't find that setting yesterday.
|
# ? Dec 23, 2017 11:27 |
|
baby puzzle posted:Ok I guess I was literally just looking in the wrong place because I couldn't find that setting yesterday. To be fair, Visual Studio has a LOOOT of settings. One way to try and navigate it better is to go to "all options" under a heading and use the searchbox, but it's still annoying.
|
# ? Dec 23, 2017 18:24 |
I'm trying to make a wrapper around GLM's datatypes, so I can easily implement conversions to/from various different libraries' vector types, and replace it easily with my own implementation if I want. Is there a way to extend them without having to specify my own operator overloads? I have C++ code:
code:
|
|
# ? Dec 23, 2017 21:36 |
|
You could write an implicit conversion from the glm vectors to your vector type. But if you're looking to do things like "multiply two vectors from different libraries", you're probably going to have to write that one yourself.
|
# ? Dec 23, 2017 22:30 |
No, I want a vector type that I use for everything that has conversions to/from all other vector types, so I only use that one in my own stuff, then do conversions when I want to interact with a library. It's really just to avoid having to explicitly convert glm vectors to bullet vectors (for instance) by passing each coordinate manually. Also, to make the process easier if I for some reason want to eventually change my basis vector to something else or implement SIMD or something. I did write an assignment operator which seems to have mostly fixed it. Only pain is I have to manually write out all the constructors, but I guess that's to be expected.
|
|
# ? Dec 23, 2017 23:40 |
|
Joda posted:No, I want a vector type that I use for everything that has conversions to/from all other vector types, so I only use that one in my own stuff, then do conversions when I want to interact with a library. It's really just to avoid having to explicitly convert glm vectors to bullet vectors (for instance) by passing each coordinate manually. Also, to make the process easier if I for some reason want to eventually change my basis vector to something else or implement SIMD or something. I did write an assignment operator which seems to have mostly fixed it. Only pain is I have to manually write out all the constructors, but I guess that's to be expected. If that's what you want then don't have it inherit from glm::vecs, just create implicit conversions, assignments, and such.
|
# ? Dec 23, 2017 23:43 |
|
Thought maybe it'd be better to ask this here (hope this is OK):Doc Block posted:If I'm making a game for Windows and Mac, how sorry am I gonna be later on for manually maintaining the Visual Studio and Xcode projects? It feels like I should use CMake or something to generate them, but on the other hand I won't be distributing the source code, so no need for using CMake to make sure whoever is doing the build is using a compiler that supports all the C++11/14 features used, where they have SDL installed, etc.
|
# ? Dec 30, 2017 00:13 |
|
Subjunctive posted:Swift has at times been brutal to work in because of the compatibility breaks and the fact that Xcode can’t span versions. Want to bisect a span that includes a toolchain upgrade? Bring your own bourbon. (Similarly, you need a big flag day where everyone in the company updates to the new version at the same time as the migration diff lands on master.) +1 for Swift version changes being a pain in the rear end. (Although I'm not sure where to draw the line between "the Swift team made a mistake" and "the Xcode team made a mistake.") Plus, a substantial amount of Swift is still built on top of ObjC and depends on ObjC interop, and the rules by which that happens are not exactly intuitive. Case in point: God help you if you objc_sync_enter/objc_sync_leave on a Swift string literal
|
# ? Dec 30, 2017 02:06 |
|
Con: you'll be doing some duplicate build configuration work. Pro: cmake is a crappy, crufty mess that should be shunned. Call it even? More seriously, I think it depends on how complex your build will be. Are you just going build your stuff and link some external binaries? Doing that twice in the native environment is probably less work than setting up something cross platform. Are you going to run some external processes to generate LLVM bytecode that you'll compile into your application to enable runtime linking with your bespoke internal compiler? You may want to a) re-examine the life choices that lead you to this precipice and b) only set that up once. It also depends on the choices made by your external dependencies, if they have an extensive cmake module then using it can save you a lot of grunt work even on a single platform. I wouldn't want to build against, say, Qt without using their cmake module.
|
# ? Dec 30, 2017 02:06 |
|
CMake is a giant pile of poo, but it's still completely fine for simple things and you don't want to be duplicating complex things. Developing with a cmake-generated Xcode project is completely fine. I've never had it be meaningfully worse than with an artisinal hand-crafted project file. Recent versions of Visual Studio can skip the project file generation completely and just open cmake projects directly.
|
# ? Dec 30, 2017 02:12 |
|
ullerrm posted:+1 for Swift version changes being a pain in the rear end. (Although I'm not sure where to draw the line between "the Swift team made a mistake" and "the Xcode team made a mistake.") I think better tooling would have made it much smoother, assuming that the Swift team didn’t prefer the big hits to force people along.
|
# ? Dec 30, 2017 02:40 |
|
Xerophyte posted:Con: you'll be doing some duplicate build configuration work. Yeah, just compiling my code, linking external binaries, and running a script at the end to package up the game assets. Plorkyeran posted:Developing with a cmake-generated Xcode project is completely fine. I've never had it be meaningfully worse than with an artisinal hand-crafted project file. Recent versions of Visual Studio can skip the project file generation completely and just open cmake projects directly. I dislike the way CMake dumps all source code files into one big group. I'm a big baby who makes a bunch of groups and subgroups. And it seems like it'd be a pain to add a new file if developing with a CMake-generated project file, since you probably have to close the project, create the new file on the command line, add it to CMakeLists.txt, regenerate the Xcode or VS project, and then reopen it. edit: One possibility is to start out with a regular project file, do most of the development with that, and then convert it to CMake so I'll have a working project to compare CMake's output project against, then do the porting. Doc Block fucked around with this message at 11:19 on Dec 30, 2017 |
# ? Dec 30, 2017 10:21 |
Doc Block posted:And it seems like it'd be a pain to add a new file if developing with a CMake-generated project file, since you probably have to close the project, create the new file on the command line, add it to CMakeLists.txt, regenerate the Xcode or VS project, and then reopen it. I completely agree that C++ is missing a reasonable, standardized build procedure, and CMake has its flaws, but there are ways to make this process less of a pain in the rear end. You can have variables hold groups code:
code:
You can also automate the build file generation either with a bash/python script or with CMAKE GUI, but neither of these are pretty or easy, but it's a one-time setup thing. Also, CLion has a lot of nice features for making CMake less annoying, like automatically detecting your source groups and asking which variable to add new source files to. Joda fucked around with this message at 16:27 on Dec 30, 2017 |
|
# ? Dec 30, 2017 16:21 |
|
Subjunctive posted:I think better tooling would have made it much smoother, assuming that the Swift team didn’t prefer the big hits to force people along. That’s the exact opposite of our perspective: we don’t like there being big hits because it makes it harder for people to keep up. I think we’ve actually done a pretty good job on the upgrade tooling. It’s just a hard problem because you really, really don’t want to silently break the behavior of code. The 1-to-2 upgrade was awful because the language changes (like error handling) were very difficult to upgrade. The 2-to-3 transition was bad mostly because there were just so many language and SDK changes. But the reason we made all those changes in 3 was to get the language in a more stable state, and that seems to have worked; everything I’ve heard is that the 3-to-4 transition is painless, and that’s likely to be the rule going forward.
|
# ? Dec 30, 2017 17:37 |
|
Doc Block posted:And it seems like it'd be a pain to add a new file if developing with a CMake-generated project file, since you probably have to close the project, create the new file on the command line, add it to CMakeLists.txt, regenerate the Xcode or VS project, and then reopen it. No, you just add the new file to CMakeLists.txt and then hit build twice in the IDE. Cmake checks on every build if the project file needs to be regenerated.
|
# ? Dec 30, 2017 18:03 |
|
edit: never mind, I immediately found out about source_group() after posting this
|
# ? Dec 30, 2017 21:52 |
|
Joda posted:And if you want to automate the process based on what folders the sources are in or a naming convention: Also, globs aren't regexes. The syntax "sourceGroup1/*.cpp" interpreted as a regex matches the string "sourceGroup1" followed by 0 or more "/"s followed by any character followed by the string "cpp".
|
# ? Dec 31, 2017 07:23 |
|
rjmccall posted:everything I’ve heard is that the 3-to-4 transition is painless, and that’s likely to be the rule going forward. I’ve also heard that, but I’m talking about co-existence tooling, not upgrade help. If I have 10 modules in my program, I can write them in ObjC, C++, and Swift, and convert modules between those on their own schedules. Xcode can mix those different languages painlessly. I can’t AFAICT upgrade any module from Swift 3 to Swift 4 unless I do all of them at the same time that I flag-day my CI machines and all developers. If 10 modules becomes 75 it’s even worse. Developers with 10KLOC and a dozen team members can handle it, but Swift seems so much nicer than ObjC for large scale development that it’s a shame the version interactions make it so painful. I have been assuming that Apple has some special system for this so that All The Builds don’t come screeching to a halt on Swift version days, but I unsurprisingly haven’t heard tell of it.
|
# ? Dec 31, 2017 13:58 |
|
You can't mix Xcode versions, but you can mix swift 3.2 and swift 4 modules.
|
# ? Dec 31, 2017 17:43 |
|
What should I look into to figure out how to transform two 1D arrays into a 2D array in C?
|
# ? Jan 5, 2018 22:46 |
|
Definitely clarify more than that - do you want to end up with an n by 2 array? Maybe say what domain this is for? How is the 2d array going to be used? I kinda feel like that's the sort of thing that you ought to figure out how to piece together on your own, it's trivial if you know how things work and dangerous if you don't. Any reason not to loop through and copying wouldn't work.
|
# ? Jan 5, 2018 22:51 |
|
Jeffrey of YOSPOS posted:Definitely clarify more than that - do you want to end up with an n by 2 array? Maybe say what domain this is for? How is the 2d array going to be used? I kinda feel like that's the sort of thing that you ought to figure out how to piece together on your own, it's trivial if you know how things work and dangerous if you don't. Any reason not to loop through and copying wouldn't work. Sorry, I'm still learning/self teaching C. Your questions helped me find a mistake. I was using code:
code:
This is probably a dumb question but, I've never read anything going into detail about it in the online tutorials I've read/watched, what is dangerous about any of this?
|
# ? Jan 6, 2018 02:17 |
|
Azuth0667 posted:Sorry, I'm still learning/self teaching C. Your questions helped me find a mistake. But if you have a 10x10 grid why wouldn't you have int locationXY[10][10]?
|
# ? Jan 6, 2018 02:23 |
|
Arrays are prove to out of bounds errors, my concern would be that you'd be given a firm rigid way of doing something, and only learn to manipulate that without understanding it. I see C as somewhat portable assembly language and is hard for me to think of it as a language whose abstractions I can trust without knowing how they work all the way. So like, I suspect some XY problem here - what are you trying to store in a 2d array? How many values are you storing? 20 or 100 are both reasonable answers but you should be able to answer before you write any code. If you want points on a n by n coordinate grid you want array[n][n]. If you want two arrays of size n, you could use an array[10][2], but I'd probably just use two arrays instead. It might be easier to post a (small) snippet of code and how it's defying expectations if you've already written something.
|
# ? Jan 6, 2018 02:42 |
|
Are there any C/C++ or related programming Certifications that are worth a suck/gently caress? I found this https://cppinstitute.org/cla-exam-syllabus?PHPSESSID=e64oql2uqpp5ijur8kuo7i2uq4 , and was checking out some of the sample questions. But I'm aware that any certification could easily be a worthless scam. I'm a junior in Computer Engineering, and I want to be able to put some kind of certification like this (that actually means something to employers) on my resumé. In school, we use (almost exclusively) C, but I am thinking about minoring in C.S. which wlll add Java into the mix.
|
# ? Jan 6, 2018 03:12 |
|
I was at CppCon last year and some of the big names there didn't seem to know anything about a C++ certification and actually kinda laughed it off.
|
# ? Jan 6, 2018 03:27 |
|
*lifts up shirt to show battle scars, man boobs* this is my certification
|
# ? Jan 6, 2018 03:40 |
|
|
# ? Apr 27, 2024 22:21 |
|
Certifications are mostly seen as a thing for IT staff. If you want to prove you can write software, do so, then publish it on github.
|
# ? Jan 6, 2018 03:54 |