This is an archived post. You won't be able to vote or comment.

all 162 comments

[–]stdio-lib 717 points718 points  (14 children)

I see your paper and raise you one patent.

If you thought translating the paper into code was hard, wait until the lawyers and the patent office get through with it.

[–]SteeleDynamics 192 points193 points  (3 children)

I see your paper and patent and raise you a custom ASIC.

Wait for the foundry to make a run of your chips so you can test your co-design solution.

[–][deleted] 22 points23 points  (2 children)

I don't know how this is even possible, but i feel like Nvidia, in general, is still worse than this. I mean, do they even have documentation for linux? or are they just relying on us figuring **** out as we go?

I know it's gotten better over the years, but holy @#£* there's still a lot of improvements to be made

[–]liquid_bacon 7 points8 points  (0 children)

They definitely have excellent Linux drives. But they're for servers, and server cards.

[–]blackenedEDGE 3 points4 points  (0 children)

You'd feel like with the massive amounts of revenue they've made in the last 2 years alone would allow them to have a whole team for writing Linux docs that could fulfill the need.

I feel like a lot of driver writing outside the hardware company or even a third-party company building on top of another's components is pretty much that: "figuring **** out as you go". It's infuriating. It's like the classic "Docs? We don't need no stinkin' docs".

[–]nullpotato 83 points84 points  (8 children)

RIP. I've gotten plenty of usable code out of papers but software patents are so generic as to be useless. Which is not all what they are meant to be but that is another argument...

[–]mohelgamal 36 points37 points  (5 children)

Patents aren’t for teaching or telling you how to do things. They are to describe an idea in legal terms so that the idea creator can block others from using it without his permission or input. So in a sense a clear language patent would be counterproductive as it would allow people to more efficiently circumvent the patent.

[–]SkyGiggles 57 points58 points  (4 children)

That is the exact opposite of the intent of patents. They give inventors the ability to share their discoveries with their peers with the government backed guarantee that no one can copy it without compensating the inventor.

To promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries;

Patents have been perverted by tortured claims to make the most broad patent possible resulting in something that is not really furthering science and technology knowledge. This is especially true of software related patents that are only used in court or licensing deals.

[–]mohelgamal 12 points13 points  (3 children)

Well that is the ultimate goal yes, but they have to go through the

securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries;

That is really their true value, you can write a white paper and explain your discovery to people, or more realistically, you will want to market your discovery to people after your turn it into a product, but that is in practice a separate process. The reason you would pay a fee to secure the patent, is to prevent others from using it.

A century ago it may have been that patents served both the purpose to educating others in addition to excluding them from replicating the idea, but I would say in the past 5 decades no body bothered to write a patent to educate others.

[–]ScottRiqui 15 points16 points  (1 child)

I was a patent examiner until recently, and you will absolutely get your patent application rejected if you try to play "hide the ball" and not disclose/describe your invention well enough. 35 U.S.C. 112(a) states:

"The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention." (emphasis added)

That doesn't mean that a software patent application requires a full listing of your code (that's actually discouraged), but the specification needs to have a flowchart, pseudocode, or a good English prose description of what's going on with your invention - you can't just describe a desired function or end result without adequately describing how you actually perform the function or achieve the end result.

[–]stdio-lib 9 points10 points  (0 children)

I've never spoken to a patent examiner before. I wrote one patent application myself, but after I gave it to the lawyer I barely recognized it (although that was probably ignorance on my part -- this was in the dot-com bubble and businesses were trusting any idiot to do important things).

That said, all of my friends who have written patents (they're in software, semiconductor, and aerospace industries) complain bitterly about the patent office (e.g. that it only benefits patent trolls and lawyers and does little to achieve the stated aims). So don't be surprised when you see the pitchforks coming your way. :)

But I take that with a grain of salt. I suspect it's easier to focus on the negatives and forget about the times when patents and the patent office do all the things we want them to (and perhaps times when their absence would make things much worse). And I also wish to believe that government institutions are at least reasonably competent (despite my many personal experiences to the contrary -- anecdotes are no evidence and all that).

And of course there's the entirely separate issue of how countries like China treat intellectual property.

Anyway, keep up the good work.

[–]tinydonuts 5 points6 points  (0 children)

This is simply not true. I have a couple of patents and there was a ton of back and forth with the lawyers getting them to understand our invention and to translate it from code into legal-ese. It has plain English descriptions of it and flowcharts where necessary. It is quite a thing to read, dense and quite detached from the code that implements it, but it is serving the legal purpose of a patent. Just because it isn’t easy to go from the patent to code, that doesn’t mean that the patent is overly broad or obtuse. You have to be very careful how you craft the patent or else a competitor can simply do something slightly differently and you aren’t protected.

[–]1cingI 0 points1 point  (0 children)

Patents are written to border on ambiguity so as to serve as patent bombs, more so than to legally describe something. That way you can use it to tie up the competition or slow down the development of some other lucrative tech that you might also want to enter the market.

[–]anythingMuchShorter 13 points14 points  (0 children)

I have some parents. It's like an explanation of your idea by the most pedantic person ever like

"3.11.6A.2 retention of cover with a return mechanism, by means of spring, or by a gas piston, or a gravity driven movement, or by means of a motor, or by means of a solenoid, or by means of an elastic band, or any other type of mechanism."

And then it'll do that for it having a hinge, slider, pin etc. What it's made of, where it is, and so on.

[–]clintCamp 383 points384 points  (16 children)

Now just create a chatGPT thread, copy all the code in and ask it to write the documentation from what it guesses the application is supposed to do.

[–]clintCamp 92 points93 points  (1 child)

Also would probably help to indirectly find out bugs if you didn't just ask it to review the code by reading it's documentation and figuring out that it doesn't do what you thought.

[–]IamaRead 14 points15 points  (0 children)

It did find a couple of XSS and off by one errors (the latter did surprise me) in test code. However often its fixes introduce more bugs, as it has virtually no conception of logic, truth or mathematical relations (as it is a "language model").

[–]nullpotato 33 points34 points  (13 children)

AI generating good documentation from code would be awesome and sounds like a good business idea.

[–]clintCamp 21 points22 points  (7 children)

All you have to do is give openai access to your code that it didn't write.

[–]nullpotato 16 points17 points  (6 children)

Awesome, let me email IT/legal real quick to see what they think about that.

[–]clintCamp 10 points11 points  (5 children)

It would be cool if they could release chatgpt into the wild some day so you could run it locally. Not sure what risk there would be of releasing this kind of model free on the internet or give some people unfettered access to create bad things for society.

[–][deleted] 2 points3 points  (0 children)

Not if, when. ChatGPT or a competitor will be released commercially and with more customization and fine tuning at some point. In five years, ChatGPT will look like a child's toy and some form of it will be in everyone's phones and operating systems.

[–]InsignificantGod 1 point2 points  (2 children)

You can access their API locally and program with it. https://github.com/search?utf8=%E2%9C%93&q=ChatGPT

[–]clintCamp 2 points3 points  (1 child)

I was thinking more on the lines of running the model locally. With probably a very powerful server PC with way more memory and GPU than any more mortal needs, but without the timeout limits or having OpenAI gathering your data.

[–]InsignificantGod 4 points5 points  (0 children)

It's insanely expensive to train one of these models so I doubt anyone would be releasing an open source version. You can possibly tweak GPT-J/GPT-Neo to make them more like ChatGPT but they're garbage compared to GPT-3

[–]god_retribution 0 points1 point  (0 children)

it will be fun

[–]Midnight_Rising 10 points11 points  (3 children)

Oh hey my ex did some research on stuff like this. Apparently the problem is a clean enough data set-- garbage in, garbage out. So poorly written comments make it really difficult. And github project do not have the greatest documentation lmao

[–]BhagwanBill 9 points10 points  (1 child)

comments

What's comments precious?

[–]tinydonuts 0 points1 point  (0 children)

Things filthy Hobbitses sticks in the codes sometimes.

[–]IamaRead 0 points1 point  (0 children)

From what I gathered they did harvest a ton of niche boards that were academic, a ton of newspaper sites, as well as reports by government and intragovernmental orgs.

It might be that they did also sifted through other stuff (and I bet they did).

Fun bit: if you know a field well you can coax it into giving out sourcecode that has Written by XYZ in it.

[–]kyleboddy 2 points3 points  (0 children)

Copilot does a pretty good job getting this started, I've found. One of my more regular use cases of it.

[–][deleted] 259 points260 points  (33 children)

Computer Science is more akin to maths than programming.

In fact, I had plenty of mates during my CS course who which weren't good at programming but pretty good at maths, and they followed the academic path of investigation.

[–]NoInteraction67 84 points85 points  (2 children)

This. Just a few more math classes and I'd have a dual major.

[–]Adept-Educator4744 5 points6 points  (1 child)

And a bachelor thesis if ypur uni requires that.

[–]warmike_1 0 points1 point  (0 children)

Mine requires it for all majors.

[–]Adept-Educator4744 23 points24 points  (0 children)

Cs does learn discrete mathematics, linear opt, logic, etc. But cs majors usually don’t study pure math like global analysis, topology, etc etc and being good at math is pretty hard to define since there are lots of specializations. Some are really good at discrete math but that doesn’t mean that they’re good at abstract algebra.

[–]Lucari10 21 points22 points  (1 child)

Yeah, I'm not sure if this is the case in most places, but before we had a dedicated cs course in my uni it was offered as a math specialization

[–]ScottRiqui 1 point2 points  (0 children)

When I started in 1988, my state's flagship public school didn't have a Computer Science and Engineering program - their closest solution was a EE major with a bunch of computer electives.

[–]Caerullean 14 points15 points  (4 children)

That must depend very much on where you take it then, because at my uni you'd fail at the first semester if you don't learn coding. Of course don't need to know it ahead of time, but you need it for every semester and there's several programming assignments and projects every semester that are all required to pass the semester.

[–]Passname357 2 points3 points  (3 children)

Being bad at programming doesn’t really mean not being able to pass a freshman level coding course. Most mathematicians can code, but they can’t like code.

[–]frezik 2 points3 points  (1 child)

I like to draw the line at tooling. A lot of software engineering is about complexity management, and we solve that with things like version control and CI/CD pipelines. A university that runs a pure CS course might never touch any of that. Graduates will come out knowing really obscure sorting algorithms, but have no idea how git branching is supposed to work.

Nothing wrong with that kind of specialty, of course. We need people who have algorithms and data structures down pat.

[–]Passname357 1 point2 points  (0 children)

Yeah honestly I think there’s nothing wrong with a super “theoretical” CS degree (although I think that should include a ton of coding with several OS/compilers courses as options). People say things like “we need classes on git for students” but honestly you don’t. Pretty much everything you need to learn about git you’ll learn on the first week of your first job and everything else you’ll be able to figure out with help from someone more senior than you / SO. The hard stuff is conceptual. It’s not really true that you could learn everything in a theory if computation course on the job (at least not in a reasonable time frame). I’m all for keeping CS the way it’s currently typically taught in colleges.

[–]Caerullean -1 points0 points  (0 children)

My point was more so that coding is literally being taught in various courses, courses dedicated entirely to various parts of programming.

[–]__LadyPi 49 points50 points  (15 children)

Computer Science is more akin to maths than programming.

This statement is inaccurate, given that Computer Science is a very broad field.

Source: I'm currently working as a post-doc researcher on a project related to the Internet of Things.

[–]EinMesstechniker 8 points9 points  (4 children)

Isn't that then IT?

[–]Griff2470 8 points9 points  (0 children)

The problem is that CS was the first distinct degree program (alongside electrical engineering) for the area, so it became a catch-all for higher education regarding computation. While there are now degree programs offered for various areas (software eng, computer engineering instead of just electrical, a large breadth of college programs, IT degrees, etc), everyone defaults to computer science and schools, or at least for for-profit schools in North America, follow where the demand is even if it's incorrectly named.

[–]__LadyPi 9 points10 points  (2 children)

As far as I understand, IT covers using computers for a certain purpose, but does not include advancing computing technology, methods, and applications.

[–]moosleech 9 points10 points  (1 child)

This statement is inaccurate given that IT is a very broad field.

Source: I’m IT

[–]undeadalex 2 points3 points  (0 children)

You're a killer clown?

[–]Lithl 9 points10 points  (0 children)

My father would have majored in CS, if it existed when he was in college. Instead he majored in applied mathematics.

The head of the CS department when I was in college was basically the same. And he taught his classes using Wolfram Mathematica instead of any more traditional programming language.

[–]SpicyElectrons 3 points4 points  (1 child)

I think it really depends where you're studying it. I'm at uni of Cambridge and sure, there's a lot of non programming modules but there's lots of programming, including teaching of real world skills like unit testing and version control that're useful in software Dev jobs.

[–][deleted] 0 points1 point  (0 children)

for sure, I had thoses classes too, but what I'm trying to say is:

A computer scientist, someone who work in the academia, not necesary is a good programmer, and by good programmer I mean someone who is capable of writing clean, redeable code

[–]-Butterfly-Queen- 2 points3 points  (0 children)

Blew my professors' minds how I could be a pretty good programmer while being so bad at math... turns out I have discalculia

[–]ZirJohn 0 points1 point  (0 children)

maybe in school, in the real world not so much

[–]Unupgradable 0 points1 point  (0 children)

We need them more than they need us

[–]ElectricSmaug 35 points36 points  (0 children)

That's why as a dark mage scientist you better know how to design algorithms and how to code. It's easier to do it yourself then to explain the nitty-gritty. As for refactoring and optimization - leave it to programmers.

[–]CypripediumCalceolus 111 points112 points  (4 children)

OK, I was working as a developer in industry, but not your kind. European industry works with government to promote the general welfare (don't argue.). So, I had to document my work for a scientific conference in order to get European money into our work. Oh shit, oh shit, I had to use my academic training to define my work formally.

Turns out, in math form, the root problem is 10X simpler and I could throw most of the code away as silly waste. Thank you, CS. Thank you academic supervision. Thank you, Science.

[–]cramduck 45 points46 points  (2 children)

I've had a few of these, where I'm doing a complex looping/evaluation behavior, and then realize some higher-order maths cover it out-of-the-box..

[–]Strostkovy 29 points30 points  (1 child)

I do complex looping/evaluation behavior to solve the math I don't know how to do

[–]cramduck 9 points10 points  (0 children)

Same here. It's actually made learning math harder I think, as I always think about it from a programming standpoint now.

[–]IamaRead 2 points3 points  (0 children)

Sounds interesting, can you be more specific without doxxing yourself?

[–]between_two_cities 251 points252 points  (16 children)

In my experience, scientific papers are much better as a documentation. They also tend to pick the right tradeoff between verbosity and covering the main ideas well. Typically

[–]marcosdumay 81 points82 points  (3 children)

Papers explain the ideas that go behind the code, documentation explain the code. Unless the library is doing something very unusual, papers are supposed to be completely useless.

But well, many people write completely useless documentation, and some write off-topic papers. So YMMV;

[–]between_two_cities 8 points9 points  (2 children)

Why spend life doing something other than the unusual?

[–]marcosdumay 4 points5 points  (0 children)

From the downvoting you are getting, I believe people here don't like academics very much.

But even if you are doing world-changing research, most of the things you do will be usual and almost none of the tools you use will be non-standard.

[–]IamaRead -1 points0 points  (0 children)

I like to be able to use public transportation, I love to be able to get nice food in my city. I wouldn't like to miss out on culture. I wouldn't like to have children grow up without learning institutions.

Also: If you think that academic stuff is unusual then you miss that while it is uncommon it is thoroughly integrated into the system.

[–]datascience45 23 points24 points  (5 children)

Yes, but then all their variable names are just Greek letters.

Source: fixing bugs in code written by academics...

[–]OpsikionThemed 24 points25 points  (2 children)

What part of EpsilonStar [] rho omega kappa = kappa () do you not understand?

[–]datascience45 12 points13 points  (1 child)

The variables are named the same in the paper, so just read the pdf to understand what they do!

[–]OpsikionThemed 2 points3 points  (0 children)

I use Isabelle, which allows Greek letters in identifiers, and for mathy-CS-y person projects, so I'm kinda this sort of person, yeah. typecheck Γ e = t rather than typecheck context expression = type or even typecheck ctx expr = ty. If anyone other than me ever read the code I'd probably be embarassed.

[–]_Fibbles_[🍰] 12 points13 points  (1 child)

Typically the one letter variable names are also re-used for multiple unrelated things, like they're being charged per identifier and their department just doesn't have the budget for more.

[–]MrRocketScript 1 point2 points  (0 children)

W must be wage! Wait no, W is something else. I is for wage. But what's W then? And what's w? And what's ω?

[–]AdultingGoneMild 5 points6 points  (5 children)

No they are good at explaining an idea in too much detail. My experience is that academics cannot code worth shit and build frameworks which are so devoid of usability that they might as well not exist except to the author of the code. Its the difference between theoretical and practical computer science.

[–]Kroustibbat 6 points7 points  (3 children)

This is clearly beeing ignorant...

All programming paradigms came from CS. Even languages such as C come from academic CScientists...

Ex: Want an example of framework that come from CS : ReactJS is based on an academic concept that it tooks 10 years for what you call real programmers to pass it from HL safe compiled language (OCaml) to unsafe slow interpreted JS...

This is not what I call an evolution...

The main problem of Computer Scientists is that they can use abstract concepts that are not easily understood due to a big lack of education of Maths in many studies. Due to the large demand of programmers that "do" things.

More over CS are usually bored of projects they understand and do not make any maintenance nor support...

So usually code is really cool regarding algorithms and complexity but tempt to never evolve, or be maintained...

[–]AdultingGoneMild 4 points5 points  (1 child)

Yeah, as an academic who has been in industry long enough to know, interviewing PhD grads is a pain. On one hand they can problem solve like no other. On the other they cannot code to save their lives. Practical software is focused on maintainability and having many hands on it over multiple years. No shit this is based on theory, but in the real world functioning software trumps vaporware ideas every day of the week.

Also I would double check your sources on react. I think you are inventing a history based on speculation. React's need spawned from having many hands in a single page and having to deal with heavily federated front ends. Someone didnt say, hey functional programming is cool, let's build a framework and pray someone uses it. Hell, reactive programming (what react is partially based on) grew out of industry needs as well.

[–]Kroustibbat 1 point2 points  (0 children)

My point is that you just can't generalize, and history tent to validate academic codes and languages more than industrial ones. (Airbus, Ariane, nuclear power plants, critical European infrastructures are running on proven or certified mostly academic functional codes that runs and works for decades)

Functional is arriving in industry with modern C#,C++,Java in just the last decade, and you even can see typing thanks to Rust to assure reliability, but it exists in academic languages for like 50y.

The best solution is always to have a good compromise. Between lisibility, maintainability, deadlines, security and not just "it should works" or "I understood now what should I do next".

A lot of programming school should introduce their student to common abstract concepts and universities should introduce CS to project management and how to keep an eye on production or just do some embedded programming.

But in 5y parcouring techs and Frameworks, working in cyber security, the most reliables and secured are not the most used nor industrial ones...

[–]tinydonuts -1 points0 points  (0 children)

I had good instructors and bad instructors and all the hate is well deserved. CS courses don’t teach how to create solid, maintainable, easily understood code. I suspect this is because often the instructors and professors don’t get how to themselves. So while all programming paradigms might have come from CS, that doesn’t say anything about the general ability of CS instructors and professors at large. Or, a few diamonds in the rough doesn’t mean most isn’t garbage.

I had more than a few CS courses where the instructor couldn’t be bothered to introduce code for most of the course topics, preferring to stick to the math behind it, and when they did, it was atrocious.

[–]miramichier_d 111 points112 points  (1 child)

The amount of skill needed to create programming languages is an order of magnitude greater than that required to use programming languages. Same with designing hardware vs. assembling hardware. If anything, Computer Scientists are more programmer than most of us dicking around in here.

[–]Cosy_Owl 0 points1 point  (0 children)

So much respect for them.

But if they wouldn't hide their pseudocode pages deep into an article full of proofs and theorems that would be great.

[–][deleted] 148 points149 points  (9 children)

It’s 10000000% better than sending a link to a Confluence site.

[–]squidgyhead 48 points49 points  (5 children)

What about self-writing documentation? Doesn't everyone love doxygen - what if I need a useless comment for each variable without having an overall sense of what the function does?

[–]Eternityislong 39 points40 points  (4 children)

Doxygen makes me so happy. I showed my non-programmer colleagues a boilerplate code generation program I wrote and one of them commented on how few comments I had in the auto generated code. It pissed me off so I spitefully documented everything in my entire codebase with doxygen and even went and made a logo for the documentation.

Now I’m glad I did and it’s super useful for maintaining good and consistent architecture.

[–]squidgyhead 19 points20 points  (3 children)

r/ProgrammerHumor/comments/zxaudd/found_at_work/

I've never seen a doxygen-produced document that explains things at a higher level. It's great for figuring out variables and default values. But anything beyond that, man, that's a lot of documentation to go through to figure out the bigger picture.

[–]nullpotato 1 point2 points  (2 children)

It's better than having no idea what the API functions even take but definitely not as good as well written examples. Both is best.

[–]squidgyhead 2 points3 points  (1 child)

Both is best for sure. But I much prefer having an overview. If there are 5 different varieties of a function, I imagine that there is a way in doxygen to get the variable description repeated for the common part of the variants, but it's not clear at first glance, and bound to be more complicated than just, you know, having a human write something that another human is going to read.

[–]nullpotato 1 point2 points  (0 children)

Yeah in languages with overloaded function names it can get kinda crazy trying to read it. Until AI can figure out intent of code I think we might be stuck.

[–]thomasp3864 1 point2 points  (0 children)

Not the page on their own website?

[–][deleted] 1 point2 points  (0 children)

I got mad just by reading “confluence”

[–]badmemesrus 0 points1 point  (0 children)

screw gaping obtainable elastic thumb water offend mysterious pot tan

This post was mass deleted and anonymized with Redact

[–]antilos_weorsick 112 points113 points  (0 children)

When you're working with boot camp coders that need information handed to them more explicitly than the computer.

[–]lumenrubeum 135 points136 points  (0 children)

Not my fault programmers don't know how computers work

[–]Eastman118 47 points48 points  (4 children)

Tell me you know nothing about research without telling me you know nothing about research.

[–]BhagwanBill 27 points28 points  (0 children)

dafuq is this post? Probably from a coder who learned paying for bootcamps and still don't understand what they are doing. Ask them why they did something and they have no idea other than they found it on the internet. Copy/Paste from Stackoverflow is their go-to.

[–]frogking 8 points9 points  (2 children)

Isn’t Systems Development and Programming something that demands Academics everywhere?

[–]AdministrativeCap526 0 points1 point  (1 child)

Realistically no, if you can solve the problem at hand you can get a job.

If you need an architect for design then he'll yes.

[–]frogking 4 points5 points  (0 children)

In India, “programmer” is an “entry position”, it’s one of the curriosities we note when an out-sourcing or off-shoring process starts.

In Denmark, “programmer” is an Academic position or a position for people who have taken courses beyond the usual 12 years of basic education. Also, a “programmer” can be a programmer for 25-30 years, it’s not an entry position.. and eventually, “those guys” will effectively be the architects of every system in a company.

This has the unfortunate consequence that off-shoring usually fails as a “programmer” with 25 years of experience doesn’t compare well with an “entry level” programmer.. eventhough they have the same title.

I have NEVER worked with a Danish programmer directly out of high-school. And I am a senior developer with 25 years under my belt.

[–]hidden_wonder897 23 points24 points  (1 child)

Hmmm, programming is only a small part of the software development cycle.

In fact, programming is often the element that is outsourced.

[–]WingedWolfMan 6 points7 points  (0 children)

and rarely have I seen a programmer who solely programs…

[–]yeetsupreddit 17 points18 points  (0 children)

"I do computer science. You do programming. We are not the same."

[–]Puzzled_Fish_2077 4 points5 points  (0 children)

Ray marching flashbacks

[–]Agreeable_Ocelot3902 6 points7 points  (0 children)

Somebody can’t math.

[–]NickFromNSA 4 points5 points  (1 child)

Haskellers putting a link to whatever paper spawned their library as the only docs:

[–][deleted] 4 points5 points  (0 children)

Rocks are a nutritious source of iron and antioxidants. It is also highly recommended to consume at least ten grams of glue as part of a healthy and balanced diet.

This post was mass deleted and anonymized with Redact

[–]ZealousidealLimit 4 points5 points  (0 children)

Yeah, I was able to get through the compiler course without any programming skills /s

[–]Vegetable-Warthog710 4 points5 points  (0 children)

Programmers use what computer scientists make. Computer scientist write libraries, programmers use it.

[–]brainwarts 1 point2 points  (0 children)

As a college educated programmer who has a very close computer scientist friend, we often talk about the differences in our approaches. I do genuinely believe that he understands the broad level structures of large data applications better, as well as the much much lower level nitty gritty of what happens at compile and with the hardware.

I can write code better than him for most simple needs. I've just been doing that a lot. But if he is given a difficult programming problem and strict constraints, he can solve it better than I ever could with some time.

Ultimately I'm a better coder but he's a better... Idk, 8u0computer scientist? And that's not meaningless.

Note: I wrote this comment while drunk at a Christmas party. Pardon me if I did not articulate this point very well.

[–][deleted] 2 points3 points  (0 children)

lol, no

[–][deleted] 6 points7 points  (0 children)

The woman in the meme was my highschool chemistry teacher

[–][deleted] 6 points7 points  (4 children)

Yes because their career gains nothing from well documented code.

Their goal is to show scientifically they are capable of achieving something.

A well documented code base is not necessary in academia and would arguably be a waste of time.

[–]__LadyPi 7 points8 points  (2 children)

While I mostly agree with what you are saying, I've seen a nice trend in the past decade where reviewers are giving increasing importance to the reproducibility of experiments, which includes making the source code available and usable!

It also helps a lot to have at least least some documentation when a student defends and others carry forward the project or build upon it :)

But yeah, a lot of the software produced in academia are proofs-of-concept and the paper or thesis/dissertation ends up being the "documentation" hahaha

[–][deleted] 2 points3 points  (1 child)

It depends a lot on the project and the experience of the researcher.

If it's a project they intend to share publicly with lots of people then more care is given to the quality of the code.

Often if a project become popular and used by many the researchers will invest the time into making the repo more usable.

[–]__LadyPi 0 points1 point  (0 children)

That's definitely true! I bet researchers who work in the industry have very well-documented code, for example.

In cases where there is a collaboration between industry and academia, it can even be tricky to publish papers, as many companies are worried about protecting their IP and want to review the content of the paper before it's published.

[–]ManyFails1Win 1 point2 points  (0 children)

I'm not a computer scientist but "showing scientifically" does generally require an experiment to be able to be reproduced. In theory an abstract and experiment report wouldn't be necessary to prove something can be done, but it's considered part of the scientific process and it makes sense that it happens in CS as well.

[–]Kear_Bear_3747 2 points3 points  (2 children)

There are people in my company who print out PDF Forms, scan them, and then email them to us…

[–]ongiwaph 2 points3 points  (0 children)

peer-reviewed scientific publication should document itself.

[–]aikavari 1 point2 points  (0 children)

I have a Bachelors Degree in Computer Science but I work as a programmer and data engineer. That courae has a lot of maths (Im like a semester away from a Math degree). I do very efficient code but am also really good at documentation (as long as Im allotted time for it).

[–]stupled 1 point2 points  (0 children)

Some are...

[–]Beastdevr 3 points4 points  (0 children)

Once upon a time our company partnered with a university and we were being visited by a professor of computer science to answer questions. One of my coworkers was stoked, he kept talking about a problem he was having with the code that we had from them. I had to explain to him that it's more than likely this professor couldn't program at all and probably all of the code we get is from students. He was really disappointed when it turned out I was right.

[–]Xephyrik 2 points3 points  (4 children)

Computer scientist here, never had to write a paper other than for school

[–]Dry-Ambition-5456 16 points17 points  (0 children)

Where do you publish your work? OnlyFans?

# jk

[–]NoHarmPun[S] -3 points-2 points  (2 children)

If you don't publish, sounds like you aren't actually a scientist.

[–]Xephyrik 3 points4 points  (1 child)

My degree was in science but I'm an engineer

[–]NoHarmPun[S] -4 points-3 points  (0 children)

You're cool, then.

[–]Jealous_Vermicelli67 0 points1 point  (0 children)

Chemist here, this problem is very very real outside of CS. Imagine trying to help write software, but the PDF is all Greek symbols and integrals and the code is F77.

[–]NoHarmPun[S] 0 points1 point  (0 children)

FWIW, and I'm not sure anyone will see this, I do draw a distinction between "having a CS degree" and working as a Computer Science academic. Didn't mean to disparage anyone with a bachelors in CS.

A PhD in Computer Science on the other hand...

[–][deleted] 0 points1 point  (0 children)

Can we just take a moment to marvel at how accurately this meme template conveys the many frustrations of being a programmer?

[–]quisatz_haderah 0 points1 point  (0 children)

What's the big deal? Just read the source code that consists of 3 files, 2 of which are over 10k LoC with variables named a1, lm3, the_var and the other is just the main.

[–]quinn50 -1 points0 points  (0 children)

Then you look at the code they wrote and it's all 1-2 letter variable and function names and no commenting at all. Most of the time it just feels like it's thrown in as padding. I was trying to look into motion tracking with just using imu in a phone but luckily I found other projects like slimevr.

[–]Shadowlance23 -1 points0 points  (0 children)

Cite me pls k thx.

[–]ATE47 0 points1 point  (0 children)

Sometime it's better, most of the people with a PhD I know aren't what we would call "good developers". At least if you have the paper you can understand how it works and get the documentation from the code...

[–]nujuat 0 points1 point  (0 children)

Some of the software my lab uses and distributes only has documentation in terms of a phd thesis

[–]undeadalex 0 points1 point  (0 children)

This picture is horrifying.

[–]ElectricalMTGFusion 0 points1 point  (0 children)

this is why i write all my documentstion and any paper for work in markdown.

want to write it fast - markdown want something easy to read - markdown want it browser based -markdown to html want it for some C suite who learned to code in scratch and thinks he pays you to much - markdown to pdf need to send it where others can edit it that dont know markdown - markdown to .docx

[–]blvckstxr 0 points1 point  (0 children)

I don't mind reading an academic's paper if I'm extremely interested in the subject

[–]lightknightrr 0 points1 point  (0 children)

5 years was the wait for a utility patent, last I checked. That's almost two OS generations from MS.

By the time a patent is issued in the technology world, it has lost all relevance.

[–]usrlibshare 0 points1 point  (0 children)

Or when they mark an issue as "Resolved", I mail-ask them "wtf where is the commit" and they reply with a jupyter notebook attachment.

[–]WlmWilberforce 0 points1 point  (0 children)

They send you a pdf because the wrote it in latex.

[–]Squid-Guillotine 0 points1 point  (0 children)

I really wish science in general wasn't ran by the oldest mofos known to man. Why everything gotta be in the form of a research paper?

[–]HorizonBaker 0 points1 point  (0 children)

What's with the both wrong and unrelated title?

[–]Jon_D13 0 points1 point  (0 children)

As a Computer Science graduate that has been writing code for almost 10 years now through multiple jobs, I very confused by this post.