What's the point of learning so many programming languages all the time and not learning mathematics instead...

What's the point of learning so many programming languages all the time and not learning mathematics instead? To solve any decently hard problem using a computer you need to first model it and find an algorithm using mathematics. For me it seems like buying a lot of various hammers and not having the actual strength to use them (I know, stupid comparison).

Other urls found in this thread:

en.wikipedia.org/wiki/JavaServer_Pages
en.wikipedia.org/wiki/GlassFish
en.wikipedia.org/wiki/Apache_Tomcat
twitter.com/AnonBabble

Or do you want to be this type of programmer who knows a shitload of languages and only uses libraries to solve anything?

bump

You don't need math to build Java websites.

>java
>website
lol

Math question:

((((7)^7)^7)...)^7

where that last ^7 is the thousandth exponent

What is the last digit of the resultant number? What are the last TWO digits?

programming languages are not only for solving numeric problems with a computer

3
43

Any problem that's not very easy, doesn't matter if numeric or not, will require some mathematics. The harder the problem, the more complicated the necessary mathematics to solve it, otherwise it wouldn't be hard. Don't tell me you're only interested in simple and boring problems that everybody solved a 100 times already.

your reasoning?

>"Don't just do the problems in the book."
>map is not the territory

goto wolframalpha.com

enter 7^(7^999)

marvel at what number theory has made possible for mankind

how much of math is needed to count my React dev salary though

Marvel at what american public education has done to us.

(7^7)^7 != 7^7^7

Order of operation son

What did you try to show by asking this question?
That it's useful to write a program to evaluate it or that it's useful to know the mathematical theorem allowing to do it easily on paper and then on a computer?

>java websites
dude, no, just no

nope. look at the original question. notice the placement of brackets. Read your argument again. Son

>Customer: I need ana pplication that does this and that
>Anon1: Well then, I've done this in Java, C and Python, but for your case I'd say Python is the best solution, it's ready in one month
>Anon2: Give me five months, so I can make a mathematically sound theory beforehand. The implementation will take another 7 months.

>What's the point of learning so many programming languages all the time and not learning mathematics instead?
How much math do you think you need? What you learn in undergrad is more than enough.

>Give me five months, so I can make a mathematically sound theory
Nice delusion

>I'd say Python is the best solution
>Python
JavaScript is obvously better for this task, don't forget MemeJS API.

You don't understand, if it's done, then you just reuse it, but if you'd like to make something even better, then you may have to do research. I'm not saying it's necessary to use mathematics for everything, but the problems that don't require to use mathematics are not hard problems and therefore not really all that interesting.

Not him, but I came to the same conclusion.
I used the A^B mod C = (A mod C)^B mod C relation.

7^7 mod 10 is 3, and 7^3 is also 3, so when you take mod 10 of the whole thing, it all collapses to 3. Similar with taking mod 100. 7^7 mod 100 = 43, and 7^43 mod 100 is also 43, so it also collapses to 43.

>7^3 is also 3
should be: 7^3 mod 10 is also 3

>Z transforms
[triggered]

Because the vast majority of software work boils down to "take data from here, put the data over there" problems.

In my entire career, I've used math to create a new algorithm one time. It was to correct for image distortion. I used basic Algebra.

I was a math minor in college and I've had zero use for it. I mean, I advocate it, and it develops how you think, but I haven't directly applied anything higher than Algebra.

That's not to say there aren't software jobs that require higher level math, it's just that they're extremely few and far between.

Also, it's my opinion that CS is just babby Math. But most programmers don't ever have to be aware of that. Hell, I don't see any point in teaching *most* "developers" anything more complex than "avoid nested loops". Domain knowledge will mean so much more than mathematical knowledge, and you only need one math-smart guy for every 10+ regular programmer types.

There are lots of programming related problems that don't need any math at all.
Try fixing a bug in a 5 year old JSF application with over a million LOC.
Good luck.

at least say if I'm correct in , you fucker.

Twitter is a Java website

Recently I wanted to do something related to video processing - slow motion. For this to work reasonably well, you have to artificially generate in-between frames of image sequence. The problem is called optical flow estimation and it heavily uses differential based methods, phase based methods with Fourrier transform and probability theory. The application seems simple, but when you want it to make a good one, then you're in for some real analysis, linear algebra, probability and many more, including numerical methods. This is why I wrote, that when you want to actually solve some problem, even though it seems not complicated, it may be necessary to use mathematics a lot. I don't think a Computer Scientist is a complete one unless he knows all of the necessary tools and Math is just one of them if you really want to do something or improve something. Just a thought.

I don't think it would be hard, just very tedious. These problems are also not interesting and have been solved many times already. Do you really enjoy doing something that was already done by so many people? How do you get motivation for this shit?

>I don't think a Computer Scientist is a complete one unless he knows all of the necessary tools and Math is just one of them if you really want to do something or improve something.

But that was his point. Most programming is learned for software engineering which is generally mundane where the value comes from the particular utility it offers a company or everyday user. Software that actually needs a solid grasp of advanced mathematics are limited to handful of companies like Adobe or Autodesk that dominate some corporate niche with expensive programs.

Just because the theoretical fundamentals of an algorithmic problem have been "solved before", that has no relevance if you are creating complex software to do something new/useful. You're argument doesn't make sense when you consider actually building things, its a craft and not an exercise in theory. That's like saying why build a house when we've already discovered how to hammer nails into wood. Or why was Google created when other search engines already existed... bit of a disconnect there.

>Recently I wanted to do something related to video processing - slow motion.

Yeah, that's a vanishingly rare task. For every one person writing a video processing algorithm, there are probably several thousand that are taking data from a SQL request and populating a form.

>The application seems simple

Huh? What part of what you wrote seems simple at all? Or do you mean the concept of "slow motion"? The only people who think slow motion is simple are the ignorant.

> when you want to actually solve some problem, even though it seems not complicated, it may be necessary to use mathematics a lot.

It appears that computer programs are themselves mathematical proofs, so that is true. Whether the developer has to be aware of mathematics or not is a different matter.

This is the very reason mathfags suck dick when it comes to writing code.

It would be great when more people on Sup Forums concentrated learning mathematics as well as programming to write even better software.

Then tell me how would you write a program that makes slow motion of a video. The problem seems simple. You won't be able to make anything really good without mathematics. Just using the already made libraries to solve it is not new/useful software. It's increasingly difficult to make something that hasn't been made before in software and when you actually do, someone with knowledge of mathematics will probably do it better than you at one point. Don't you want to make your software as good as it's possible? If you do, then you won't make it without using mathematics as a tool.

I meant the concept of course.

Stop. There's no point in reasoning. You forgot CS is full of people who don't really like CS and are in it just for the money

Same as why people keep buying new toilet paper, instead of reusing the old one over and over.

>Then tell me how would you write a program that makes slow motion of a video.
In the real world, I wouldn't have to do that, because there are libraries for it. If I had to do it manually, which is highly unlikely, I'd probably get all frames and tried to smooth transitions by simple interpolation.

>smooth transitions by simple interpolation.
Ha! Tried that and it doesn't give good results.
You never know what kind of program in real world you'll have to write. Your program could be better if it used your own, new method for solving it instead of using a library.

I like CS and that's why I made this thread, my point is that if you want to make a better program than there are already, you need more than just programming knowledge.

>that's a vanishingly rare task.
Practically anything of value you do in CS is a rare task. If it's not - then someone else did that for you so no moonies for that

>Ha! Tried that and it doesn't give good results.
Is this some kind of a fucking reverse psychology shit to get people to do your homework?

No, I don't do shit like that. Just wanted to encourage Sup Forums to stop learning programming all the time and learn a bit of the other important tool for solving problems on a computer, because in the end - it's necessary to do interesting things. I wish there were threads from time to time on Sup Forums where people would discuss mathematic tools to solve programming problems.

>That it's useful to write a program to evaluate it
Try writing a program that evaluates just the first three sevens, that is 7^7^7.

Interesting things amount to less than a percent of the work any average developer will be doing at work throughout their entire life, the percentage of people actually interested in doing such work is even less than that, because not everyone is a math genius, otherwise the industry would have never taken off had it been only math-friendly. So at the end of the day, it's about real, practical skills of being able to assembly shit into a working piece of software with available tools and the ability to fix problems, interact with the client, etc, etc.

I' m an ERP developer and use COBOL as my main language. I've only used the arithmetic operators like addition subtraction division and multiplication and desu it has been enough. I don't see any usage of advanced mathematics at this job desu. Except the mentioned reasons I'm terrible at math. I don't even know where to begin because my knowledge is so low.

FYI: I find math interesting but don't find any problem where I would find math useful(except machine learning but still python already has libraries you can use). But I would like to learn math if I can use it to be better at programming. For example, what math should I know to learn about programming missiles, avionics or any other expert system? I find these stuff very fascinating.

You are describing a problem that is inherently mathematical in nature. Video processing is a complicated problem that most CS people wouldn't even have the skills for to tackle alone. In fact this is a body of research that involves collaboration between applied mathematicians and software developers.

What about a networking tool? or a search engine? there are plenty of examples, the majority of software even, that don't require any advanced math applications to be as "good as possible"

I'm not a math genius, honestly, I'm terrible at it, but I just now see how useful it is in actually doing practical shit. These crazy things that you find in real analysis books, it's actually useful when you KNOW how you can make it useful. And this is a problem, from my experience CS at Uni doesn't actually teach you to use it. You have separate CS and Math courses, but almost none shows how to actually combine them. Sup Forums would benefit from such knowledge.

I don't know either, but I'd look on google scholar for articles about it, read them and then, once I find the math I don't understand, try to find out which part of mathematics it is.

Networking tools? Graph theory to model networks.
Search engines? Similarity measures to make ranging of the found results.
When you want to do any of this really good, you'll find a shit ton of math in it, really.

>I find math interesting but don't find any problem where I would find math useful
That's not the problem with math being useless, but with you not being able to find use for it.
Years ago, I worked in a storage house with a guy that couldn't do simple things like multiplication. He even had trouble with addition. He had to draw strokes on a piece of paper and then count them. And he worked in a fucking storage house.
My point is, if you can get away without knowing such basics and function properly in a society, you can do the same without any "advanced" math. They're like tools. If you have them, you can find use for them and make wonders. That being said, tools in wrong, unskilled hands are fucking useless.

Nobody actually spends time on languages beside the first one.
Sure you need to know the syntax and where to find documentation and how to compile / run the code, but you can find that out in a day.

There are a few languages which are very different, but those are not used for a lot of projects and not knowing them will not hurt your job changes.

>Networking tools? Graph theory to model networks.
>Search engines? Similarity measures to make ranging of the found results
You're trying to add the hard math component to anything, which is true and not true at the same time, because there are abstraction levels in place to rid the developer from the need of getting his hands dirty. Under the hood it's all math, but nobody cares enough to actually open the hood and tinker with it, especially when you have deadlines to meet. The marginal performance boost isn't worth going to all the trouble of implementing your own video processing library or whatnot.

It depends, because at one point you may have to improve something and get down to mathematics of the problem and it's solution. Also, finding new, better algorithms seems more interesting to me than just using a library to write a few liner that will solve some basic problem. I'm not saying that every employed programmer should now know all kinds of mathematics and use it everywhere. I'm thinking about situation when you want to develop something really new or doing something better than other programs do. Then you'll most probably need to use math and then you'll realize that you don't know enough about it to make it happen and you'll be sad. This happened to me and this is why I'd like to encourage Sup Forums to solve problems not only programatically but also mathematically and combine the two. There's also way more satisfaction when you do it like this.

Took over 14 seconds to compute with fast exponentiation by squaring, the resulting number was 695975 digits long, and it took 692,2 kB just to store it.
Fucking hell.

just checked - that's about the same amount as the number of words in the bible.

>692,2 kB
>mfw I was going to give it just 1 kB of memory

That's right, mathematics help you to understand the problem and its complexity.
This is why modern applications are getting slower and slower. Now nobody does the job to study how the algorithms work, they just bruteforce it because processing power is cheap.

What happened, OP?
Didn't get into the CS program at school, so now you're stuck being a math major? :\

All this to say you are still comparing what is usually cutting edge research vs. practical applications. For example, I may have a new networking application that I want to develop, but I'm not going to be delving into graduate level graph theory to optimize it - then I'd be writing a research paper.

Ultimately this is just an argument of theory vs engineering, and whatever you find interesting. and I'm not talking about faceless mundane corporate engineering. There are plenty of examples of amazing software people have made that didn't have to touch any advanced math. Algorithmic optimizations of known problems is a huge undertaking in itself, and if everyone who wanted to write a program had to do this then nothing would get done.

Also, I've checked - last two digits of 7^7^7 are indeed 43.

>I used the A^B mod C = (A mod C)^B mod C relation.
Now I don't know how you've come to it.

>twitter
fucking kek

Can't tell if you're trolling or you mean Java backend. As in a database controller

Hint: modular multiplication.

They mostly reuse the libraries to save on time and effort and meet deadlines in corporation - I understand the motivation. However, better software could be created when new algorithms would be researched.

Is it really this cutting edge? Look at engineering papers, they're also full of math. It's not theory vs engineering, because this math exactly allows you to engineer better systems.

That theory just isn't true. Better software is created through utilizing foundations already built before you - hence libraries.

It is true, you build improving the libraries. How can you improve a library function if you don't know the theory of that method which it implements?

>"nah bro, just use runge-kutta or monte carlo" (RANS if you do cfd)

the problem with good tools is that the retard start using it everywhere.

fuck it needs 1,500,000 operations 100 cycles each
>"processing power is cheap xDDD"
>"Unused RAM is wasted RAM xD xD xD "

last 5 digits are: 72343

>can't tell more with the same method because it would require to compute the whole number

You don't get programming jobs because they want to give you some interesting, ethereal, algorithmic data problems to solve. Programmers are expected to build usable applications. Problem solving the way you describe it is usually only a very little part of it. Most of it is just business functionality and interactions like db querying or webservice comms. And yeah you're expected to use libraries for that.

>Disregard that, it wouldn't. Computing each additional number just takes exponentially more time.

>Programming problems are only hard if they are math related

you aren't even a programmer, are you?

It depends, who is a programmer for you? Someone who writes computer programs or someone who is employed to write them? I do write programs.

Yes, I didn't exactly have a working environment of a professional programmer in mind when I created this thread. Rather I was thinking about solving various problems on a computer and writing better software, improving. It doesn't matter for me if it's professional or hobby thing. I think that if you want to program something interesting and better than it was done so far, you need to know more than just a programming language.

>Someone who writes computer programs or someone who is employed to write them?
What the fuck is the difference?

Programming can be hard not because of the math, but because something requires a workaround or a non-trivial solution or sort out some clusterfuck with the API, shit like that, it doesn't have to even involve any math at all, but it can be hard to put something together and get it to work.

I don't think it's really hard when you compare this to anything that involves mathematical methods. You just RTFM your way to solution. I'm not convinced.

I get you OP.

But I'm not a CS students like all the plebs in this thread, I guess they just don't know how the math barrier limits all the things you can do with a computer.

I don't mean rewriting shit like fundamental algorithms, but stuff like interpreting some software output from a probabilistic model or something. It gives you power to build really cool stuff.

>You just RTFM your way to solution
It's obvious you've never been in a situation where everything failed and didn't work and google gave you nothing on this obscure problem other than 1 result where the question was answered either with
>pm'd the solution
or
>NVM. Solved it!

And yes, it can be pretty challenging to get shit working, some shit isn't even well documented. This isn't math where you have formulas and just follow them, here you need to take stabs in the dark and most of the time you need to avoid stabbing something which you're not supposed to stab, otherwise the whole system gets its shit fucked up.

>What's the point of learning so many programming languages all the time and not learning mathematics instead? To solve any decently hard problem using a computer you need to first model it and find an algorithm using mathematics. For me it seems like buying a lot of various hammers and not having the actual strength to use them (I know, stupid comparison).


You figure out the answer to a problem by breaking the problem into tinier problems and solve each to get attorney answer. Then you convert all the tiny answers into the big answer.

Loops, flow, conditionals. That is the basis you should be improving and not having to grow a curly hipster stache and think you need to learn every new language that comes out.

>It's obvious you've never been in a situation where everything failed and didn't work
Maybe he's just better than you and those situations don't happen to him

Better at what? Being a psychic? I guess that's a useful skill when you're a programmer.

You know JavaScript, the script version of java.

I agree that bug fixing can be hard and that not only mathematical methods used in programs are hard. However, it is not your fault that someone developed a huge and buggy system that you have to fix. In fact, if that person knew mathematics and approached with systematic programming (very unrealistic, I know), then most of the code would be proven based on various assertions and Hoare logic and you wouldn't have to waste the time fixing it, but you'd have the time to improve it and add new interesting functionality. Don't you agree?

I know about the divide and conquer approach, but there are problems, when you simply can't divide into smaller ones or the small ones themself are mathematically hard to comprehend.

Nah, I'm not some very skilled programmer.

I'd love to be a psychic, but I don't believe in ESP. Too bad.

Obvious bait, man. Too obvious.

why would i need to do that when ive got a calculator

Because you also need to know what to compute and how it relates to the programming problem you try to solve, you troll. I replied. 2/10.

depends on what kind of developer you want to be. an every day programmer or a computer scientist.

The final form of all computer scientists and programmers around the world - The Gentooman.

>computer scientist
Me. Math degree/CS minor
Wrote maybe 1000 lines of code in 4 years, thru multiple languages.

Formulas are easy as fuck. The only hard part of math is the arithmetic/algebra side.

easy, 3

I made a python program to figure it out.

edit: 43, if you wanted the last two

"Any problem that's not very easy, doesn't matter if numeric or not, will require some mathematics."
Replace 'mathematics' by 'logic' !
Hm... as one anti-maths I'd say
There is no need for advanced maths in many "not very easy" (not scientific) problem. I think you can understand quickly a standardized problem using maths and create quickly a standardized algorithm where someone without maths will take time to do it but it will just take him more time, programming is the use of logic and using logic you can bruteforce the problem.

>graduation day
>walk towards the stage
>see all the computer science plebs, software engineer losers and website developers in tears, knowing their job prospects are non-existent
>walk up to the stage, shake hands and receive my Ph.D in Mathematics
>walk off the stage and into a crowd of millionaire DOEs
>they all offer me a position as team lead in their company, 300K starting

I had algebra, calculus 1, and calculus 2. I've played around with programming and I didn't have to use anything better than highschool math to solve a problem. Now that math knowledge doesn't really help me if I need to do something in any language that isn't Java. If I didn't know any calculus or algebra but I knew C and Python (for example) fluently that would be an improvement as far as programming goes.

Then you wake up ....cleaning toilets at a Gas station for min. wage

After the first 2 languages you don't actually need to "learn" more of them, because they're all the same shit, you just need a few days at most per language to get used to the syntax.

Welcome to 2016

en.wikipedia.org/wiki/JavaServer_Pages
en.wikipedia.org/wiki/GlassFish
en.wikipedia.org/wiki/Apache_Tomcat

This pretty much. I'm a CS senior with a minor in Math and what I've noticed is that CS has it's own type of "math", which programmers get adjusted to. Advanced math is important to prove that theoretical concepts always hold true, and to push the understanding of what "math" even is. At a certain point Advanced math is just about math and not about any application really. If it turns out that a certain concept of advanced mathematics has an application that's merely coincidental. On the other hand, programmers are engineers (of a sort) they don't need to know everything about number theory, abstract algebra, analysis...etc. They just need to know enough about problem solving and being resourceful.

Most user applications don't need any abundance of math.

>any decently hard problem...
Lots of programmers don't want to solve those problems. Lots of people are in it for the money and mobile/web requires almost no math knowledge

>What's the point of learning creative writing when you can study grammar.
>You can't write any complex story without grammar.

>write the formula once in a program
>run it millions of times per second
>write the formula once on paper
>write it over and over again whenever you use it
Clearly the point is you're a fucking faggot.